v1.0.0
HTTP v1.0.0
Closed issues:
- Document connect_timeout= and idle_timeout= options (#221)
- Document client usage better (#252)
- Support transparent gzip decompression (#256)
- WebSocket errors on page reload (#293)
- Support pipeline_limit server-side (#322)
- does it support http2.0 (#328)
- Exception "HTTP.ConnectionPool.Transaction{Sockets.TCPSocket} does not support byte I/O" on read! (#329)
HTTP.open
hanging (#339)- Add timeout for reading CLOSE frame in WebSockets.close (#350)
- Move AWS4 signing into a separate repo? (#355)
- Broken pipes (#382)
- [RFC] WebSockets proposal (#394)
- Client cookie management has possibly poor ergonomics (#398)
- Problem with domain-wide cookie (#434)
- Websockets uses insecure random for Sec-WebSocket-Key and mask (#437)
- eof hangs using websockets (#447)
- How do I simply push messages over WebSockets? (#452)
- HTTP.request sidesteps a bit too much ? (#463)
- How to write data to specific WebSocket connections? (#474)
- WebSocket: error: 1002: Client MUST mask all frames (RFC-6455: Section 5.1) (#502)
- HTTPS GET requests to S3 hang forever when doing a lot of them (#517)
- WebSocket: long messages get split up (#532)
response_stream
breaks withIOBuffer()
(#543)response_stream
breaks streaming to process when redirecting (#544)- Need more examples and documentation ! (#556)
- Explain how to stop async HTTP.Listen task in README.md (#563)
- [feature requirement] HTTP.WebScokets server enhancement (#566)
- Internal error when running many HTTP.get asynchronously (#568)
- Allow setting of cipher suites & ALPN version (#570)
- HTTP.download() not honoring
local_path
(#573) - String(cookie, false) does not have domain info (#577)
- Allow WebSockets connections to (re)use the HTTP(S) ports (#578)
- HTTP requests doesn't work with https proxy (#583)
- HTTPS request hangs forever (#584)
- update docs with an example showing use with Revise.jl (#587)
unsafe_write
requiresiswritable(::SSLContext)
(#614)- EOFError Heisenbug (#618)
- Make it easy to set
TCP_NODELAY
on server sockets (#629) - Improperly-handled HTTP responses cause connection freezes (#631)
- use a printable object and/or io stream for
HTTP.Response
body (#653) - should the documentation be separate? (#655)
- Should write errors be suppressed? (#657)
- Deprecate higher-level functionality, such as router? (#658)
- Many fields not available in (REPL) autocomplete (#660)
- Requests sent twice (#667)
- rewrite
Handlers
and@register
(#668) - need much better debug logging (#669)
- clarification on cookie types and behavior (#690)
- Failing request with xml query (#694)
- Broken Pipe error when https self signed certificate verification required (#695)
- Server shutdown finalizer crashes (#697)
- Julia hangs on exceptions in HTTP WebSocket block (#698)
- Bug for Proxy in requests? (#705)
- Method invalidations (#712)
- Cookie type lacks support for
SameSite
attribute (#735) - Why does HTTP.WebSockets limit ONLY 8 client connections at one port for one process? (#743)
- HTTP contacts proxy when asked to get localhost URL despite this making no sense and no_proxy envvar forbids it (#746)
- use of
@eval
inhibits performance (#747) - Deadlock with https requests (#771)
- Closing IO stream given with
response_stream
kwarg? (#774) parse_multipart_form
does not parse "Content-Type" correctly. (#782)- Segmentation Fault in
HTTP.serve
on closed TCP Socket listener (#784) - Windows failure on Julia 1.7 (#787)
- Consistent exception types and error reporting (#792)
- Differences between
open("GET", url) do io
andrequest("GET", url; response_stream=io)
? (#793) - Websocket not setting required mask? (#794)
- readavailable returns 0 bytes (#795)
- Inconsistent behaviour among Julia 1.6.5 (works ok) versus Julia 1.7.0 (error) (#796)
- Allow handling requests in multiple tasks (#798)
- Question: proxy configuration (#799)
- Bugged code? (#800)
- Add functions for setting default custom handlers? (#801)
- Julia 1.8.0-beta1 gives 404 errors (#803)
- WebSocket connection failure: Incorrect 'Sec-WebSocket-Accept' value (#807)
- Simple usage examples from README not in docs (#813)
- UndefVarError: libmbedtls not defined (#814)
- Feature request: Parsing MultiPartForm responses (currently we can only parse multipart requests) (#816)
- 524 method invalidations on Julia 1.8-beta3 (#821)
cookiejar
is ignored (#823)- got IOError during POST with Form email (#825)
- Question about reading WebSocket streams (#827)
- Question on defaultheader!(headers, "Accept" => "/") (#828)
- Cookie not evicted when following redirects (#840)
- Support application/x-www-form-urlencoded when request body is Dict/Vector{Pair} (#850)
- Support readuntil(x::Stream, fn) like we support on Connection object (#852)
Merged pull requests:
- Make debugging macros insert branches on DEBUG_LEVEL (#356) (@ararslan)
- Do not call
close()
on theresponse_stream
(#775) (@c42f) - [BREAKING]: Remove client support for pipelined requests (#783) (@quinnj)
- Update issue template (#785) (@fredrikekre)
- Remove unused at-debug macros. (#788) (@fredrikekre)
- [BREAKING]: Change internal layers stack to be value-based instead of type-based (#789) (@quinnj)
- Add changelog for some changes. (#790) (@fredrikekre)
- Two changes to fix windows tests (#802) (@quinnj)
- CI for Julia 1.8 beta 1 (#804) (@fonsp)
- Delete the
snoop.jl
file (#806) (@DilumAluthge) - Sec-WebSocket-Accept: strip input key (#808) (@fonsp)
- Tests: Don't use port 1234 (#809) (@fonsp)
- WebSocket: test HTTP.jl server against Deno client (#810) (@fonsp)
- [BREAKING]: Remove use of at-eval in handlers register macro (#812) (@quinnj)
- Prefactoring: Add broken test case for parsing multipart content type (#782) (#815) (@NHDaly)
- Widen support for parsing MultiPartForms to include Responses (#817) (@NHDaly)
- [BREAKING]: Overhaul Handlers framework + rewrite Router to be trie-based and support dynamic use-cases (#818) (@quinnj)
- Delete unused streaming_combinations.jl (#819) (@lucifer1004)
- Allow
HTTP.header
default to be anything (#820) (@omus) - IODebug.jl: remove stale code (#824) (@fonsp)
- Initial work to overhaul debug logging (#826) (@quinnj)
- Refine how redirect method is set (#829) (@quinnj)
- Attempt to reencode malformed headers from Latin-1 to UTF8 (#830) (@quinnj)
- Don't write headers if value is empty (#831) (@quinnj)
- Remove comment mode regex for multipart parsing (#832) (@quinnj)
- Couple of proxy fixes (#833) (@quinnj)
- don't add gz if we are given a local filepath (#835) (@oxinabox)
- Big update to cookie code (#836) (@quinnj)
- Auto decompress gzip-encoding response bodies (#838) (@quinnj)
- HTTP.jl docstrings cleanup (#839) (@quinnj)
- proxy: islocalhost: ipv6 support (#841) (@fonsp)
- Cookie doc tweaks (#842) (@fonsp)
- Overhaul websockets code (#843) (@quinnj)
- Use cryptographically secure rand for Sec-WebSocket-Key and client mask (#844) (@quinnj)
- Use
uint16
(#845) (@rikhuijzer) - Make HTTP.jl exception types more consistent (#846) (@quinnj)
- Allow requests to be retried with request/response streams that suppo… (#847) (@quinnj)
- Update all docs/examples to current #master code (#848) (@quinnj)
- Clean up API reference page in docs (#849) (@quinnj)
- Start filling out client.md, websockets.md, and server.md doc guides (#851) (@quinnj)
- [BREAKING]: Modernize core server code and improve overall ergonomics (#854) (@quinnj)
- Include a docs guide for migration code to 1.0 (#855) (@quinnj)