All Downloads are FREE. Search and download functionalities are using the official Maven repository.

rawhttp.cli.CliServerOptions Maven / Gradle / Ivy

package rawhttp.cli;

import rawhttp.core.RawHttpRequest;
import rawhttp.core.RawHttpResponse;
import rawhttp.core.server.TcpRawHttpServer;

import java.io.IOException;
import java.net.ServerSocket;

final class CliServerOptions implements TcpRawHttpServer.TcpRawHttpServerOptions {

    private final int port;
    private final RequestLogger requestLogger;

    public CliServerOptions(int port, RequestLogger requestLogger) {
        this.port = port;
        this.requestLogger = requestLogger;
    }

    @Override
    public ServerSocket getServerSocket() throws IOException {
        return new ServerSocket(port);
    }

    @Override
    public RawHttpResponse onResponse(RawHttpRequest request, RawHttpResponse response) throws IOException {
        requestLogger.logRequest(request, response);
        return TcpRawHttpServer.TcpRawHttpServerOptions.super.onResponse(request, response);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy