Class InternalWebServer

All Implemented Interfaces:
org.osgi.framework.BundleActivator

public class InternalWebServer extends AbstractUIPlugin
The activator class controls the plug-in life cycle for the Internal Web Server using Jetty.
Author:
Christopher Mindus
  • Field Details

  • Constructor Details

    • InternalWebServer

      public InternalWebServer()
      The constructor
  • Method Details

    • start

      public void start(org.osgi.framework.BundleContext context) throws Exception
      Specified by:
      start in interface org.osgi.framework.BundleActivator
      Overrides:
      start in class AbstractUIPlugin
      Throws:
      Exception
    • getInstance

      public static InternalWebServer getInstance()
      Returns the shared instance.
      Returns:
      the shared instance.
    • startWebServer

      public int startWebServer(File parentDir, IExternalBrowserPages extPages, IWSFileProviderServer fileProvider, WebSocketAcceptor acceptor)
      Starts the web server.
      Parameters:
      parentDir - The directory to use for "quic-work" directory, null for current directory.
      extPages - External pages implementor, null for none.
      fileProvider - File provider interface.
      acceptor - The acceptor for engine requests.
      Returns:
      The port used, 0 for failure.
    • stopWebServer

      public boolean stopWebServer(long maxTime)
      Stops the web server.
      Parameters:
      maxTime - Max time to wait for server to stop, <=0 is forever.
      Returns:
      true for success, false for timeout.
    • getWebServerPort

      public int getWebServerPort()
      Gets the started web server port.
      Returns:
      The port number, zero for not started.
    • getSecureWebServerPort

      public int getSecureWebServerPort()
      Gets the started secure (HTTPS) web server port.
      Returns:
      The port number, zero for not started.
    • stop

      public void stop(org.osgi.framework.BundleContext context) throws Exception
      Specified by:
      stop in interface org.osgi.framework.BundleActivator
      Overrides:
      stop in class AbstractUIPlugin
      Throws:
      Exception
    • getHTTPFileUrl

      public String getHTTPFileUrl(String fileName)
      Gets the URL string for a file in the root using the HTTP protocol.
      Parameters:
      fileName - File name relative the root.
      Returns:
      A String like "http://127.0.0.1:port/name".
    • loadHTML

      public String loadHTML(String fileName)
      Loads the HTML file contents encoded in UTF-8 and returns it.
      Parameters:
      fileName - File name relative the root.
      Returns:
      The text or HTML file contents. If there is an error, a HTML document will be returned showing the error.
    • getFileUrl

      public String getFileUrl(String fileName)
      Gets the URL string for a file in the root using the File protocol.
      Parameters:
      fileName - File name relative the root.
      Returns:
      A String like "file:...";
    • getServer

      public IntegratedWebServer getServer()
      Gets the Integrated Jetty Server instance.
      Returns:
      The integrated web server instance, or null if not yet started.
    • getWebServerMapping

      public File getWebServerMapping(String mappedFile)
      Gets the map of web server mappings for files.
      Parameters:
      mappedFile - The file to map.
      Returns:
      The mapping from String (such as "dojo.root" or "iiziRun.root") to File Returns null if not found.