Class HttpServer

java.lang.Object
org.nanonative.nano.core.model.Service
org.nanonative.nano.services.http.HttpServer

public class HttpServer extends Service
  • Field Details

    • server

      protected HttpServer server
    • CONFIG_SERVICE_HTTP_PORT

      public static final String CONFIG_SERVICE_HTTP_PORT
    • CONFIG_SERVICE_HTTP_CLIENT

      public static final String CONFIG_SERVICE_HTTP_CLIENT
    • CONFIG_SERVICE_HTTPS_CERTS

      public static final String CONFIG_SERVICE_HTTPS_CERTS
    • CONFIG_SERVICE_HTTPS_CERT

      public static final String CONFIG_SERVICE_HTTPS_CERT
    • CONFIG_SERVICE_HTTPS_CA

      public static final String CONFIG_SERVICE_HTTPS_CA
    • CONFIG_SERVICE_HTTPS_KEY

      public static final String CONFIG_SERVICE_HTTPS_KEY
    • CONFIG_SERVICE_HTTPS_KTS

      public static final String CONFIG_SERVICE_HTTPS_KTS
    • CONFIG_SERVICE_HTTPS_PASSWORD

      public static final String CONFIG_SERVICE_HTTPS_PASSWORD
    • EVENT_HTTP_REQUEST

      public static final Channel<HttpObject,HttpObject> EVENT_HTTP_REQUEST
    • EVENT_HTTP_REQUEST_UNHANDLED

      public static final Channel<HttpObject,HttpObject> EVENT_HTTP_REQUEST_UNHANDLED
    • STARTUP_LOCK

      protected static final Lock STARTUP_LOCK
  • Constructor Details

    • HttpServer

      public HttpServer()
  • Method Details

    • address

      public InetSocketAddress address()
    • port

      public int port()
    • server

      public HttpServer server()
    • start

      public void start()
      Description copied from class: Service
      Starts the service. This method is called during service initialization. Optional implementation - services can leave this empty if no startup logic is needed. Common uses include: - Initializing resources - Setting up connections - Starting background tasks See also Service.configure(TypeMapI, TypeMapI) for configuration setup.
      Specified by:
      start in class Service
    • stop

      public void stop()
      Description copied from class: Service
      Stops the service gracefully. This method is called during service shutdown. Optional implementation - services can leave this empty if no cleanup is needed. Common uses include: - Closing connections - Releasing resources - Stopping background tasks
      Specified by:
      stop in class Service
    • onEvent

      public void onEvent(Event<?,?> event)
      Description copied from class: Service
      Processes incoming events for the service. Optional implementation - services can leave this empty if they don't need to handle events. Useful for: - Responding to system events - Inter-service communication - State updates based on external triggers
      Specified by:
      onEvent in class Service
      Parameters:
      event - The event to process
    • configure

      public void configure(berlin.yuna.typemap.model.TypeMapI<?> configs, berlin.yuna.typemap.model.TypeMapI<?> merged)
      Description copied from class: Service
      Configures the service with changes while maintaining merged state. Optional implementation - services can leave this empty if no configuration is needed. Useful for: - Service initialization with configuration - Handling dynamic configuration updates - Managing service state - Applying configuration changes without service restart
      Specified by:
      configure in class Service
      Parameters:
      configs - The new configuration changes to apply
      merged - The complete merged configuration state - this will be represented in Service.context after the method is done
    • onFailure

      public Object onFailure(Event<?,?> error)
      Description copied from class: Service
      Handles service failures and errors. Optional implementation - services can return null if no specific error handling is needed. Null means the error will be logged automatically if no other listener or service handles it. Useful for: - Custom error recovery strategies - Error logging - Notifying other components of failures
      Specified by:
      onFailure in class Service
      Parameters:
      error - The error event to handle
      Returns:
      Response object from error handling, can be null
    • sendResponse

      protected void sendResponse(HttpExchange exchange, HttpObject request, HttpObject response)
    • encodeBody

      protected byte[] encodeBody(byte[] body, String contentEncoding)
    • setError

      public static Consumer<Event<HttpObject,HttpObject>> setError(AtomicBoolean internalError)
    • toString

      public String toString()
      Overrides:
      toString in class Object