Converter typeclass for bytestrings.
Converter typeclass for bytestrings. Default implementations are in package.scala
A pipe designed to accept a chunked http body.
A pipe designed to accept a chunked http body.
The pipe will scan the chunk headers and auto-close itself when it hits the end of the stream (reading a 0 length chunk). It also strips all chunk headers from the data, so the output stream is the raw data
A Pipe that will take raw DataBuffers and add a http chunk header.
A Pipe that will take raw DataBuffers and add a http chunk header. This is needed if you are streaming out a response that is not also being streamed in (like in a proxy)
Right now this ends up copying the DataBuffer.
A Pass-through pipe that parses chunk headers in the data stream and closes the pipe when the stream ends.
A Pass-through pipe that parses chunk headers in the data stream and closes the pipe when the stream ends. This pipe does not remove any header/footer information, making it ideal for use in a proxy
A Typeclass to decode a raw http body into some specific type
A Wrapper class for a set of Http headers, for a request or response.
This trait mixed in to any codes that do not allow a body in the response
This is the set of headers that are parsed into more structured forms and used internally by colossus
Be aware, at the moment when the response is encoded, there is no processing on the response body, and no headers are added in.
Be aware, at the moment when the response is encoded, there is no processing on the response body, and no headers are added in. This means if the transfer-encoding is "chunked", the header must already exist and the stream must already be prepending chunk headers to the data.
URL parsing can be done using one of two paths.
URL parsing can be done using one of two paths. The first uses an object based decomposition with a minimal number of string operations. This parses using the 'on' keyword and the left associative '/' operator.
The second method uses string operations in a right associative manner. Because all values are strings, it is less type safe than the object method. This is used with the 'in' keyword and the right associative '/:' operator. In this method, the final variable in the pattern will consume all remaining levels.
To use either language, import the UrlParsing._ object