Skip to content

Instantly share code, notes, and snippets.

@richdougherty
Last active April 8, 2018 23:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save richdougherty/cca215b4180d9fd5af75cb9d5c4139e3 to your computer and use it in GitHub Desktop.
Save richdougherty/cca215b4180d9fd5af75cb9d5c4139e3 to your computer and use it in GitHub Desktop.
trait RequestFactory {
def createRequestHeader(
connection: RemoteConnection,
method: String,
target: RequestTarget,
version: String,
headers: Headers,
attrs: TypedMap): RequestHeader
}
trait Stage extends Handler {
def apply(requestHeader: RequestHeader): (RequestHeader, Handler)
}
trait RequestTaggingHandler extends Handler {
def tagRequest(request: RequestHeader): RequestHeader
}
private[server] class ForwardedHeaderHandler(configuration: ForwardedHeaderHandlerConfig) {
def forwardedConnection(rawConnection: RemoteConnection, headers: Headers): RemoteConnection = new RemoteConnection {
}
trait EssentialFilter {
def apply(next: EssentialAction): EssentialAction
}
trait EssentialAction extends (RequestHeader => Accumulator[ByteString, Result]) with Handler
trait WebSocket extends Handler {
def apply(request: RequestHeader): Future[Either[Result, Flow[Message, Message, _]]]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment