- Simplify HTTP/1 exception handling
- Update H1P dependency
- Update Extralite dependency (#28)
- Use
H1P.send_response
for sending response - Update Polyphony and H1P versions
- Disregard
SystemCallError
inTipi.client_loop
- Treat HTTP/2 headers as immutable
- Update dependencies
- Update Qeweney
- Update Polyphony
- Update dependencies
- Fix variable name in
Tipi.verify_path
(#16) - thanks @dm1try
- Update H1P dependency
- Allow setting valid hosts
- Change interface of Qeweney apps to use #run (#15)
- Close server listener before terminating connections
- Remove
http_parser.rb
dependency (#14) - thanks @SwagDevOps - Use
argv
argument inTipi.opts_from_argv
(#13) - thanks @SwagDevOps - Ignore
ArgumentError
in#parse_headers
- Implement compatibility mode for HTTP/1 (WIP)
- Add option parsing for CLI tool
- Implement supervisor-controller-worker model in CLI tool
- Extract HTTP/1 parser into a separate gem: H1P
- HTTP/1 parser: disable UTF-8 parsing for all but header values
- Add support for parsing HTTP/1 from callable source
- Introduce full_service API for automatic HTTPS
- Introduce automatic SSL certificate provisioning
- Improve handling of exceptions
- Various fixes to DF service and agent pxoy
- Fix upgrading to HTTP2 with a request body
- Switch to new HTTP/1 parser
- Fix Rack adapter (#11)
- Introduce experimental HTTP/1 parser
- More work on DF server
- Allow setting chunk size in
#respond_from_io
- Implement serving static files using splice_chunks (nice performance boost for files bigger than 1M)
- Call shutdown before closing socket
- Fix examples (thanks @timhatch!)
- More work on DF server
- Fix HTTP2StreamHandler#send_headers
- Various fixes to HTTP/2 adapter
- Fix host detection for HTTP/2 connections
- Fix HTTP/1 adapter #respond with nil body
- Fix HTTP1Adapter#send_headers
- Don't use chunked transfer encoding for non-streaming responses
- Fix header formatting when header value is an array
- Update upgrade mechanism to work with updated Qeweney API
- Use
Qeweney::Status
constants
- Extract Request class into separate qeweney gem
- Implement digital fabric service and agents
- Add multipart and urlencoded form data parsing
- Improve request body reading behaviour
- Add more
Request
information methods - Add access to connection for HTTP2 requests
- Allow calling
Request#send_chunk
with empty chunk - Add support for handling protocol upgrades from within request handler
- Update code for Polyphony 0.47.5
- Add support for Rack::File body to Tipi::RackAdapter
- Respond with array of strings instead of concatenating for HTTP 1
- Use read_loop instead of readpartial
- Fix http upgrade test
- Fix websocket server code
- Implement configuration layer (WIP)
- Improve performance of rack adapter
- Rename project to Tipi
- Rearrange source code
- Remove HTTP client code (to be developed eventually into a separate gem)
- Fix header rendering in rack adapter (#2)
- Use IO#read_loop
- Update with API changes from Polyphony >= 0.41
- Remove modulation dependency
- Fix
Server#listen
- Ensure server socket is closed upon stopping loop
- Fix
Request#format_header_lines
- Move HTTP to separate polyphony-http gem
For earlier changes look at the Polyphony changelog.