Interface HttpServer.RequestHandler

Enclosing interface:
HttpServer
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 HttpServer implementations.

This is used internally by Soklet instances to "talk" to a HttpServer via HttpServer.initialize(SokletConfig, RequestHandler). It's the responsibility of the HttpServer 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 HttpServer implementation and therefore do not need to implement this interface directly.

Author:
Mark Allen
  • Method Details

    • handleRequest

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

      The HttpServer 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 HttpServer to be sent over the wire to the client.

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