Tanner

Results 77 issues of Tanner

Adds helpers for working with `content-encoding` and `accept-encoding` headers (#2465). - Adds `HTTPHeaders.acceptEncoding`. ```swift // Accept gzip and deflate encodings. req.headers.acceptEncoding = [.gzip, .deflate] // Check if request accepts gzip....

bug
enhancement
semver-minor

Refactors `Environment` to be more explicit about how it is initialized. Addresses https://github.com/vapor/vapor/issues/2385

enhancement
semver-minor

Allow connecting to a WebSocket server via Unix Domain Sockets.

enhancement

Carrying on conversations in #2383, #2384, and #2432. Specifically https://github.com/vapor/vapor/pull/2432#issuecomment-656902404 and https://github.com/vapor/vapor/pull/2432#issuecomment-656914668. The square bracket syntax for nesting query string data is not ideal. Since the brackets themselves must be...

enhancement

It would be great to be able to route by more aspects than just HTTP method / URI segments in a performant way. Some useful parts of the HTTP request...

enhancement

Attempting to use services like `app.sessions` after the application has been shutdown yields unhelpful errors like: ``` Fatal error: Sessions not configured. Configure with app.sessions.initialize(): file ``` These services should...

bug

Add a `contains` method to ContentContainer and QueryContainer for detecting whether or not the given key is present. This is difficult to do otherwise as `Codable` treats missing keys and...

enhancement

Provide access to the underlying NIO channel context `ByteBufferAllocator` via `Request`.

enhancement

Add example + test case of dynamic streaming response using chunked transfer encoding.

enhancement

https://github.com/vapor/vapor/pull/2357 refactored Vapor's streaming request body handling logic into a state machine. `RequestState` should get a similar refactoring to improve testability and code readability.

enhancement