NEWS.md
webfakes now supports HTTPS (#110).
The cleanup of a new_app_process() (and thus local_app_process()) is now faster. Instead of sending an interrupt first and waiting for the subprocess to quite, it is killed instantly.
decode_url. If set to FALSE, then the web server will not URL-decode the URL (#106).tmpl_glue() now works correctly on platforms with an issue in readChar(..., useBytes = TRUE), e.g. on macOS 14.x Sonoma: https://bugs.r-project.org/show_bug.cgi?id=18605.The httpbin app now implements the /brotli, /deflate, /digest-auth /forms/post, /hidden-basic-auth, /range/:n, /stream/:n, /cache and /cache/:value endpoints. With these, it implements all endpoint of the original Python httpbin app (#3).
New middleware mw_cookie_parser() to parse a Cookie header. Relatedly, new response$add_cookie() and response$clear_cookie() methods to add a cookie to a response and to add a header that clears a cookie (#2).
Parsing query parametes without a value now does not fail.
New utility function http_time_stamp() to format a time stamp for HTTP.
The httpbin app now implements the endpoints related to cookies (#3).
The httpbin app now sends the Date header in the correct format.
The offset parameter is now optional in the /links endpoint of the httpbin app.
mw_etag() now does not add an ETag header to the response, if there is one already. (The comparision is case sensitive.)
New middleware: mw_range_parser() to parse Range headers.
response$send_file() now handles root = "/" and absolute paths better on Windows.
new_app_process() and local_app_process() are now faster, because the app object they need to copy to the subprocess is smaller.
mw_etag() now handles the If-None-Match header properly, and sets the status code of the response to 304, and removes the response body.