Compare 3.0.0-alpha.x to 3.0.0-alpha.11
82 changed files with 1,676 additions and 816 deletions.
New:
FileMiddleware
has been implemented.- Fluent now supports omitting types in filter methods
User.query(on: req).filter(\.name == "Vapor")
EngineClient
andClient
protocol have been added.
let res = req.make(Client.self).send(.get, to: "http://vapor.codes")
LeafData
is now wrapped in a reference basedLeafContext
allowing nested#set
- Add convenience subscript getters to
req.query
andreq.content
for decoding single values
// query
let test: String? = req.query["hello"]
// content
XCTAssertEqual(req.content["batters", "batter", 1, "type"], "Chocolate")
- New
req.streamFile(at: String)
function for creating a streaming file response - Convenience accessors for URI, headers, body, etc on
Vapor.Request
Core.File
now supports streaming.HTTPServer
now supports a generic stream type instead of concrete TCP socket.DataCoder
is nowBodyCoder
Fixed:
String
andInt
now encode to plaintext instead of html by default.- Authentication issues with MySQL on Linux.
- FormURLEncoded target.
- Fixes the regression for WebSocket routes not passing the
Vapor.Request