Interface Server.RequestHandler

Enclosing interface:
Server
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

Request/response processing contract for Server implementations.

This is used internally by Soklet instances to "talk" to a Server via Server.initialize(SokletConfig, RequestHandler). It's the responsibility of the Server to implement HTTP mechanics: read bytes from the request, write bytes to the response, and so forth.

Most Soklet applications will use Soklet's default Server implementation and therefore do not need to implement this interface directly.

Author:
Mark Allen
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    handleRequest(Request request, Consumer<RequestResult> requestResultConsumer)
    Callback to be invoked by a Server implementation after it has received an HTTP request but prior to writing an HTTP response.
  • Method Details

    • handleRequest

      void handleRequest(@Nonnull Request request, @Nonnull Consumer<RequestResult> requestResultConsumer)
      Callback to be invoked by a Server implementation after it has received an HTTP request but prior to writing an HTTP response.

      The Server is responsible for converting its internal request representation into a Request, which a Soklet instance consumes and performs Soklet application request processing logic.

      The Soklet instance will generate a MarshaledResponse for the request, which it "hands back" to the Server to be sent over the wire to the client.

      Parameters:
      request - a Soklet Request representation of the Server's internal HTTP request data
      requestResultConsumer - invoked by Soklet when it's time for the Server to write HTTP response data to the client