ESP32_ChinaDieselHeater_Con.../lib/esp32_https_server-master/CHANGELOG.md

3.5 KiB
Raw Permalink Blame History

Changelog

pending (master)

New functionality:

Bug fixes:

Breaking changes:

v1.0.0

New functionality:

  • #78: Control keep-alive behavior by calling res->setHeader("Connection", "close")
  • #77: Normalize header names
  • #72: Support for body parsers. See the HTML Forms example for usage
  • #71: HTTPRequest supports getClientIP()
  • #65: New interface to request and path parameters. Allows iterating over path parameters to retrive multi-value parameters

Bug fixes:

  • #69: Treat + correctly during URL decoding

Breaking changes:

  • HTTP header names are normalized for requests and responses: Each header name starts with a capital letter, all letters after a non-printable character are also capitalized, all other letters are converted to lower case.
    • If you want to retrieve header values:
      • Use Connection instead of connection
      • Use Content-Type instead of CONTENT-TYPE
  • Interface to Request and URL parameters has changed
    • Former request paremters are now called query parameters
      • ResourceParameters::getRequestParameterInt() does no longer exist. Use std::atoi(str.c_str())
      • ResourceParameter::isRequestParameterSet() is now ResourceParameter::isQueryParameterSet()
      • std::string ResourceParameter::getRequestParameter(std::string const &name) is replaced by bool ResourceParameter::getQueryParameter(std::string const &name, std::string &val)
        • The return value reflects whether a request parameter was specified. The request parameter value is written to the second argument.
        • See issue #62 for mor details
      • getQueryParameter() will return the first occurence of a parameter with a given name (that did not change). You can access additional parameter values using the new ResourceParameters::beginQueryParameters() and ResourceParameters::endQueryParameters() functions (for a URL like /?foo=bar&foo=baz this will yield (foo, bar) and (foo, baz).
    • Former URL parameters are now called path parameters
      • ResourceParameters::getUrlParameterInt() does no longer exist. Use std::atoi(str._cstr())
      • std::string ResourceParameter::getURLParameter(std::string const &name) is now std::string ResourceParameter::getPathParameter(std::string const &name)
      • uint8_t HTTPNode::getUrlParamCount() is now size_t HTTPNode::getPathParamCount()

v0.3.1

Bug Fixes:

  • Issues regarding websockets (#58, #59)

v0.3.0

New "Features" and other changes:

  • Add HTTP Status Code 431 - Header too long
  • Added doxgen documentation
  • Some Typos
  • Allow modification of HTTPSServerConstants using CFLAGS
  • Configurable logging
  • Use spaces everywhere

Bug Fixes:

  • Clean close connections correctly when stopping the server
  • Fix off-by-one error in number formatting (e.g. content-length)
  • Close WebSockets properly when shutting down the server.
  • Handle percent encoding of URL and request parameters.
  • WebSocket example: Hostname instead of IP

Breaking Changes:

  • (internal) HTTPConnection::clientError/serverError -> raiseError(code, reason)

For earlier versions, see releases on GitHub.