Пример #1
0
        /// <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();
        }
Пример #2
0
        /// <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();
        }
Пример #3
0
        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;
        }