/// <summary> /// Initializes a new instance of the <see cref="HttpServer" /> class. /// </summary> /// <param name="moduleManager">The modules are used to process the HTTP requests. You need to specify at least one.</param> public HttpServer(IModuleManager moduleManager) { _moduleManager = moduleManager; BodyDecoder = new CompositeIMessageSerializer(); _configuration = new ChannelTcpListenerConfiguration(() => new HttpMessageDecoder(BodyDecoder), () => new HttpMessageEncoder()); _bufferSlicePool = new BufferSlicePool(65535, 100); ApplicationInfo = new MemoryItemStorage(); }
/// <summary> /// Initializes a new instance of the <see cref="HttpServer" /> class. /// </summary> /// <param name="moduleManager">The modules are used to process the HTTP requests. You need to specify at least one.</param> /// <param name="configuration"> /// You can override the configuration to your likings. /// </param> /// <exception cref="System.ArgumentNullException">moduleManager/configuration</exception> public HttpServer(IModuleManager moduleManager, ChannelTcpListenerConfiguration configuration) { if (moduleManager == null) { throw new ArgumentNullException("moduleManager"); } if (configuration == null) { throw new ArgumentNullException("configuration"); } BodyDecoder = new CompositeIMessageSerializer(); _moduleManager = moduleManager; _configuration = configuration; _bufferSlicePool = new BufferSlicePool(65535, 100); ApplicationInfo = new MemoryItemStorage(); }
public SWebServerTcp(Func <string, string, Stream, string> handleResponse, int port) { myModule = new JsonTextModule(headers); myModule.Callback = handleResponse ?? DefaultHandleRequest; ModuleManager moduleManager = new ModuleManager(); moduleManager.Add(myModule); server = new HttpServer(moduleManager); // Add support to content-type: application/JSON, otherwise Griffin WebServer returns // error 400. CompositeIMessageSerializer compositeSerializer = (CompositeIMessageSerializer)server.BodyDecoder; JsonSerializer jsonSerializer = new JsonSerializer(); compositeSerializer.Add("application/json", jsonSerializer); this.port = port; }