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

public.javadoc.org.spincast.plugins.undertow.SpincastUndertowServer.html Maven / Gradle / Ivy

There is a newer version: 2.2.0
Show newest version






SpincastUndertowServer (org.spincast:spincast-framework 1.0.0 API)












org.spincast.plugins.undertow

Class SpincastUndertowServer

  • All Implemented Interfaces:
    Server


    public class SpincastUndertowServer
    extends Object
    implements Server
    Server implementation for Undertow.
    • Field Detail

      • logger

        protected final org.slf4j.Logger logger
      • UNDERTOW_EXCEPTION_CODE_REQUEST_TOO_LARGE

        public static final String UNDERTOW_EXCEPTION_CODE_REQUEST_TOO_LARGE
        See Also:
        Constant Field Values
    • Method Detail

      • getHttpAuthActiveRealms

        protected Map<String,String> getHttpAuthActiveRealms()
      • getServerUtils

        protected ServerUtils getServerUtils()
      • getHttpAuthenticationRealms

        public Map<String,String> getHttpAuthenticationRealms()
        Description copied from interface: Server
        Returns the existing HTTP authentication realms, the key being the realm's name and the value being the prefix path associated to this realm.

        The map is immutable.

        Specified by:
        getHttpAuthenticationRealms in interface Server
      • getFormParserFactory

        protected io.undertow.server.handlers.form.FormParserFactory getFormParserFactory()
      • createUndertowTempDir

        protected Path createUndertowTempDir()
      • isRunning

        public boolean isRunning()
        Description copied from interface: Server
        Is this server running (started)?
        Specified by:
        isRunning in interface Server
      • start

        public void start()
        Description copied from interface: Server
        Starts the server.
        Specified by:
        start in interface Server
      • getServerStartTryNbr

        protected int getServerStartTryNbr()
      • getStartServerSleepMilliseconds

        protected long getStartServerSleepMilliseconds()
      • getServerBuilder

        protected io.undertow.Undertow.Builder getServerBuilder()
      • addHttpListener

        protected void addHttpListener(io.undertow.Undertow.Builder builder,
                                       String serverHost,
                                       int httpServerPort)
      • addHttpsListener

        protected void addHttpsListener(io.undertow.Undertow.Builder builder,
                                        String serverHost,
                                        int httpsServerPort)
      • addBuilderOptions

        protected io.undertow.Undertow.Builder addBuilderOptions(io.undertow.Undertow.Builder builder)
      • getFinalHandler

        protected io.undertow.server.HttpHandler getFinalHandler()
        The very first handler considered by Undertow.
      • getCacheBusterRemovalHandler

        protected CacheBusterRemovalHandler getCacheBusterRemovalHandler()
        Handler to remove cache busters from the request's URL.
      • getHttpAuthenticationHandler

        protected io.undertow.server.handlers.PathHandler getHttpAuthenticationHandler()
        Handler to check for HTTP authentication requirement.
      • getHttpAuthHandlerNextHandler

        protected io.undertow.server.HttpHandler getHttpAuthHandlerNextHandler()
      • createHttpAuthenticationRealm

        public void createHttpAuthenticationRealm(String pathPrefix,
                                                  String realmName)
        Description copied from interface: Server
        Creates HTTP authentication protection (realm) for the specified path prefix.
        Specified by:
        createHttpAuthenticationRealm in interface Server
        realmName - The name of the realm. Must be unique on this server, otherwise an exception is thrown. This allows the application to add user to the realm using its name.
      • getRealmNameToDisplay

        protected String getRealmNameToDisplay(String pathPrefix,
                                               String realmName)
        The realm name to display.
      • addHttpAuthentication

        public void addHttpAuthentication(String realmName,
                                          String username,
                                          String password)
        Description copied from interface: Server
        Adds a user to an HTTP protected realm.
        Specified by:
        addHttpAuthentication in interface Server
      • removeHttpAuthentication

        public void removeHttpAuthentication(String username,
                                             String realmName)
        Description copied from interface: Server
        Removes a user to an HTTP protected realm.
        Specified by:
        removeHttpAuthentication in interface Server
      • removeHttpAuthentication

        public void removeHttpAuthentication(String username)
        Description copied from interface: Server
        Removes a user from all HTTP protected realms.
        Specified by:
        removeHttpAuthentication in interface Server
      • getSpincastFrontControllerHandler

        protected io.undertow.server.HttpHandler getSpincastFrontControllerHandler()
      • stop

        public void stop()
        Description copied from interface: Server
        Stops the server

        Will try to send a "closing" message to any WebSocket peer before closing their connections.

        Specified by:
        stop in interface Server
      • stop

        public void stop(boolean sendClosingMessageToPeers)
        Description copied from interface: Server
        Stops the server
        Specified by:
        stop in interface Server
        Parameters:
        sendClosingMessageToPeers - if true, Spincast will try to send a "closing" message to any WebSocket peer before closing their connections.
      • getSecondsToWaitForWebSocketEndpointsToBeProperlyClosedBeforeKillingTheServer

        protected int getSecondsToWaitForWebSocketEndpointsToBeProperlyClosedBeforeKillingTheServer()
      • getMilliSecondsIncrementWhenWaitingForWebSocketEndpointsToBeProperlyClosedBeforeKillingTheServer

        protected int getMilliSecondsIncrementWhenWaitingForWebSocketEndpointsToBeProperlyClosedBeforeKillingTheServer()
      • sendWebsocketEnpointsClosedWhenServerStops

        protected void sendWebsocketEnpointsClosedWhenServerStops()
      • getStaticResourcesPathHandler

        protected io.undertow.server.handlers.PathHandler getStaticResourcesPathHandler()
      • addStaticResourceToServe

        public void addStaticResourceToServe(StaticResource<?> staticResource)
        Description copied from interface: Server
        Adds a static resource to serve directly by the server.
        Specified by:
        addStaticResourceToServe in interface Server
      • removeAllStaticResourcesServed

        public void removeAllStaticResourcesServed()
        Description copied from interface: Server
        Removes all static resources served directly by the server.
        Specified by:
        removeAllStaticResourcesServed in interface Server
      • getHttpMethod

        public HttpMethod getHttpMethod(Object exchange)
        Description copied from interface: Server
        Gets the HTTP method associated with the request.
        Specified by:
        getHttpMethod in interface Server
      • castExchange

        protected io.undertow.server.HttpServerExchange castExchange(Object exchange)
      • getFullUrlProxied

        public String getFullUrlProxied(Object exchangeObj)
        Description copied from interface: Server
        The full encoded URL of the potentially proxied request, including the queryString. Cache buster codes are removed, if there were any.

        Is a reverse proxy is used (such as Nginx or Apache), this is going to be the proxied URL, as forwarded by the reverse proxy. If no reverse proxy is used, this is going to be the original URL, as seen by the user.

        Even if the request is forwarded elsewhere in the framework, this URL won't change, it will still be the original one.

        Specified by:
        getFullUrlProxied in interface Server
      • getFullUrlProxied

        public String getFullUrlProxied(Object exchangeObj,
                                        boolean keepCacheBusters)
        Description copied from interface: Server
        The full encoded URL of the potentially proxied request, including the queryString.

        Is a reverse proxy is used (such as Nginx or Apache), this is going to be the proxied URL, as forwarded by the reverse proxy. If no reverse proxy is used, this is going to be the original URL, as seen by the user.

        Even if the request is forwarded elsewhere in the framework, this URL won't change, it will still be the original one.

        Specified by:
        getFullUrlProxied in interface Server
        keepCacheBusters - if true, the returned URL will contain the cache buster codes, if there were any. The default behavior is to automatically remove them.
      • getFullUrlOriginal

        public String getFullUrlOriginal(Object exchangeObj)
        Description copied from interface: Server
        The full encoded URL of the original, non proxied, request, including the queryString. Cache buster codes are removed, if there were any.

        This is going to be the *original* URL, as seen by the user, even if a reverse proxy is used (such as Nginx or Apache).

        Even if the request is forwarded elsewhere in the framework, this URL won't change, it will still be the original one.

        Specified by:
        getFullUrlOriginal in interface Server
      • getFullUrlOriginal

        public String getFullUrlOriginal(Object exchangeObj,
                                         boolean keepCacheBusters)
        Description copied from interface: Server
        The full encoded URL of the original, non proxied, request, including the queryString.

        This is going to be the *original* URL, as seen by the user, even if a reverse proxy is used (such as Nginx or Apache).

        Even if the request is forwarded elsewhere in the framework, this URL won't change, it will still be the original one.

        Specified by:
        getFullUrlOriginal in interface Server
        keepCacheBusters - if true, the returned URL will contain the cache buster codes, if there were any. The default behavior is to automatically remove them.
      • setResponseHeader

        public void setResponseHeader(Object exchangeObj,
                                      String name,
                                      List<String> values)
        Description copied from interface: Server
        Sets a response header. Override any existing one with the same name.
        Specified by:
        setResponseHeader in interface Server
      • setResponseStatusCode

        public void setResponseStatusCode(Object exchange,
                                          int statusCode)
        Description copied from interface: Server
        Sets the response status code.
        Specified by:
        setResponseStatusCode in interface Server
      • getDoNothingCallback

        protected io.undertow.io.IoCallback getDoNothingCallback()
      • getCloseExchangeCallback

        protected io.undertow.io.IoCallback getCloseExchangeCallback()
      • flushBytes

        public void flushBytes(Object exchange,
                               byte[] bytes,
                               boolean end)
        Description copied from interface: Server
        Flushes some bytes to the response.
        Specified by:
        flushBytes in interface Server
        end - if true, the exchange will be closed and nothing more can be send.
      • end

        public void end(Object exchange)
        Description copied from interface: Server
        Ends the exchange. Nothing more can be send.
        Specified by:
        end in interface Server
      • isResponseClosed

        public boolean isResponseClosed(Object exchange)
        Description copied from interface: Server
        Is the response closed?
        Specified by:
        isResponseClosed in interface Server
      • isResponseHeadersSent

        public boolean isResponseHeadersSent(Object exchange)
        Description copied from interface: Server
        Are the response headers sent?
        Specified by:
        isResponseHeadersSent in interface Server
      • getRequestScheme

        public String getRequestScheme(Object exchange)
        Description copied from interface: Server
        Gets the request scheme, "http" for example.
        Specified by:
        getRequestScheme in interface Server
      • getCookieEncoding

        protected String getCookieEncoding()
      • getFormData

        protected io.undertow.server.handlers.form.FormData getFormData(io.undertow.server.HttpServerExchange exchange)
        May return NULL.
      • forceRequestSizeValidation

        public boolean forceRequestSizeValidation(Object exchangeObj)
        Description copied from interface: Server
        Is the request size valid?
        Specified by:
        forceRequestSizeValidation in interface Server
      • getWebsocketEndpointCreationLock

        protected Object getWebsocketEndpointCreationLock(String endpointId)
        Gets the creation/close lock for a specific Websocket endpoint.
      • websocketCloseEndpoint

        public void websocketCloseEndpoint(String endpointId)
        Description copied from interface: Server
        Closes a Websocket endpoint. No more connections will be accepter
        Specified by:
        websocketCloseEndpoint in interface Server
      • websocketCloseEndpoint

        public void websocketCloseEndpoint(String endpointId,
                                           int closingCode,
                                           String closingReason)
        Description copied from interface: Server
        Closes the entire Websocket endpoint. All peer connections of this endpoint will be closed.
        Specified by:
        websocketCloseEndpoint in interface Server
        closingCode - The closing code.
        closingReason - The closing reason.
      • websocketConnection

        public void websocketConnection(Object exchangeObj,
                                        String endpointId,
                                        String peerId)
        Description copied from interface: Server
        Transforms the request to a peer Websocket connection on the endpoint 'endpointId'.
        Specified by:
        websocketConnection in interface Server
      • getIp

        public String getIp(Object exchangeObj)
        Description copied from interface: Server
        Gets the IP of the current request.
        Specified by:
        getIp in interface Server

Copyright © 2019. All rights reserved.





© 2015 - 2024 Weber Informatics LLC | Privacy Policy