Class HttpServer

java.lang.Object
com.google.common.util.concurrent.AbstractService
org.yamcs.AbstractYamcsService
org.yamcs.http.HttpServer
All Implemented Interfaces:
com.google.common.util.concurrent.Service, YamcsService

public class HttpServer extends AbstractYamcsService
Server-wide HTTP server based on Netty that provides a number of Yamcs web services:
  • REST API
  • WebSocket API
  • Static file serving
  • Field Details

  • Constructor Details

    • HttpServer

      public HttpServer()
  • Method Details

    • getSpec

      public Spec getSpec()
      Description copied from interface: YamcsService
      Returns the valid configuration options for this service.
      Returns:
      the argument specification, or null if the args should not be validated.
    • init

      public void init(String yamcsInstance, String serviceName, YConfiguration config) throws InitException
      Description copied from interface: YamcsService
      Initialize this service. This is called before the service is started. All operations should finish fast.
      Specified by:
      init in interface YamcsService
      Overrides:
      init in class AbstractYamcsService
      Parameters:
      yamcsInstance - The yamcs instance, or null if this is a global service.
      serviceName - The service name.
      config - The configured arguments for this service. If YamcsService.getSpec() is implemented then this contains the arguments after being validated (including any defaults).
      Throws:
      InitException - When something goes wrong during the execution of this method.
    • addRoute

      public void addRoute(String pathSegment, Supplier<HttpHandler> handler)
    • addApi

      public void addApi(Api<Context> api)
    • doStart

      protected void doStart()
      Specified by:
      doStart in class com.google.common.util.concurrent.AbstractService
    • startServer

      public void startServer() throws Exception
      Throws:
      Exception
    • getTokenStore

      public TokenStore getTokenStore()
    • getAuditLog

      public AuditLog getAuditLog()
    • getBindings

      public List<Binding> getBindings()
    • getContextPath

      public String getContextPath()
    • getRoutes

      public List<Route> getRoutes()
    • getTopics

      public List<Topic> getTopics()
    • getProtobufRegistry

      public ProtobufRegistry getProtobufRegistry()
    • getGlobalTrafficShapingHandler

      public io.netty.handler.traffic.GlobalTrafficShapingHandler getGlobalTrafficShapingHandler()
    • getJsonParser

      public com.google.protobuf.util.JsonFormat.Parser getJsonParser()
    • getJsonPrinter

      public com.google.protobuf.util.JsonFormat.Printer getJsonPrinter()
    • getReverseLookup

      public boolean getReverseLookup()
    • getCorsConfig

      public io.netty.handler.codec.http.cors.CorsConfig getCorsConfig()
    • getMetricRegistry

      public com.codahale.metrics.MetricRegistry getMetricRegistry()
    • getClientChannels

      public List<io.netty.channel.Channel> getClientChannels()
    • closeChannel

      public void closeChannel(String id)
    • doStop

      protected void doStop()
      Specified by:
      doStop in class com.google.common.util.concurrent.AbstractService