Class HttpServer
java.lang.Object
org.nanonative.nano.core.model.Service
org.nanonative.nano.services.http.HttpServer
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Channel<HttpObject, HttpObject> static final Channel<HttpObject, HttpObject> protected HttpServerprotected static final LockFields inherited from class org.nanonative.nano.core.model.Service
context, createdAtNs, isReady -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddress()voidconfigure(berlin.yuna.typemap.model.TypeMapI<?> configs, berlin.yuna.typemap.model.TypeMapI<?> merged) Configures the service with changes while maintaining merged state.protected byte[]encodeBody(byte[] body, String contentEncoding) voidProcesses incoming events for the service.Handles service failures and errors.intport()protected voidsendResponse(HttpExchange exchange, HttpObject request, HttpObject response) server()static Consumer<Event<HttpObject, HttpObject>> setError(AtomicBoolean internalError) voidstart()Starts the service.voidstop()Stops the service gracefully.toString()Methods inherited from class org.nanonative.nano.core.model.Service
configure, context, context, createdAtNs, isReady, isReadyState, name, nanoThread, receiveEvent, threadsOf
-
Field Details
-
server
-
CONFIG_SERVICE_HTTP_PORT
-
CONFIG_SERVICE_HTTP_CLIENT
-
CONFIG_SERVICE_HTTPS_CERTS
-
CONFIG_SERVICE_HTTPS_CERT
-
CONFIG_SERVICE_HTTPS_CA
-
CONFIG_SERVICE_HTTPS_KEY
-
CONFIG_SERVICE_HTTPS_KTS
-
CONFIG_SERVICE_HTTPS_PASSWORD
-
EVENT_HTTP_REQUEST
-
EVENT_HTTP_REQUEST_UNHANDLED
-
STARTUP_LOCK
-
-
Constructor Details
-
HttpServer
public HttpServer()
-
-
Method Details
-
address
-
port
public int port() -
server
-
start
public void start()Description copied from class:ServiceStarts 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 alsoService.configure(TypeMapI, TypeMapI)for configuration setup. -
stop
public void stop()Description copied from class:ServiceStops 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 -
onEvent
Description copied from class:ServiceProcesses 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 -
configure
public void configure(berlin.yuna.typemap.model.TypeMapI<?> configs, berlin.yuna.typemap.model.TypeMapI<?> merged) Description copied from class:ServiceConfigures 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:
configurein classService- Parameters:
configs- The new configuration changes to applymerged- The complete merged configuration state - this will be represented inService.contextafter the method is done
-
onFailure
Description copied from class:ServiceHandles 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 -
sendResponse
-
encodeBody
-
setError
-
toString
-