/// <summary> /// Initializes a new instance of the <see cref="HttpServer"/> class. /// </summary> /// <param name="sessionStore">A session store is used to save and retrieve sessions</param> /// <seealso cref="IHttpSessionStore"/> public HttpServer(IHttpSessionStore sessionStore) { Check.Require(sessionStore, "sessionStore"); _components = new ComponentProvider(); _components.AddInstance <IHttpSessionStore>(sessionStore); _requestQueue = new RequestQueue(ProcessRequestWrapper); }
/// <summary> /// Initializes a new instance of the <see cref="HttpServer"/> class. /// </summary> /// <param name="logWriter">The log writer.</param> /// <seealso cref="LogWriter"/> public HttpServer(ILogWriter logWriter) { Check.Require(logWriter, "logWriter"); _components = new ComponentProvider(); _components.AddInstance <ILogWriter>(logWriter); _requestQueue = new RequestQueue(ProcessRequestWrapper); }
/// <summary> /// Initializes a new instance of the <see cref="HttpServer"/> class. /// </summary> /// <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="HttpInput"/> object types.</param> /// <seealso cref="IFormDecoder"/> /// <seealso cref="FormDecoderProviders"/> public HttpServer(FormDecoderProvider decoderProvider) { Check.Require(decoderProvider, "decoderProvider"); _components = new ComponentProvider(); _components.AddInstance <FormDecoderProvider>(decoderProvider); _requestQueue = new RequestQueue(ProcessRequestWrapper); }
private void Restart() { RequestQueue queue = new RequestQueue(OnRequest); queue.Start(); queue.Stop(); queue.Start(); }
/// <summary> /// Initializes a new instance of the <see cref="HttpServer"/> class. /// </summary> /// <param name="logWriter">The log writer.</param> /// <seealso cref="LogWriter"/> public HttpServer(ILogWriter logWriter) { _components = new ComponentProvider(); if (_logWriter != null) { _components.AddInstance <ILogWriter>(logWriter); _logWriter = logWriter; } _requestQueue = new RequestQueue(ProcessRequestWrapper); }
protected void Init() { RequestReceived += RequestHandler; if (_requestQueue == null) { _requestQueue = new RequestQueue(ProcessRequestWrapper); } _requestQueue.Start(); }
private void Init() { _sessionStore = _components.Get <IHttpSessionStore>(); if (_sessionStore == null) { WriteLog(this, LogPrio.Info, "Defaulting to memory session store."); _sessionStore = new MemorySessionStore(); } // add default decoders if none have been added. if (FormDecoderProviders.Count == 0) { WriteLog(this, LogPrio.Info, "Loading UrlDecoder, XmlDecoder and MultipartDecoder, since no decoders have been added."); _formDecodersProvider.Add(new UrlDecoder()); _formDecodersProvider.Add(new MultipartDecoder()); _formDecodersProvider.Add(new XmlDecoder()); } // Components for building requests. if (!_components.Contains(typeof(IRequestParserFactory))) { _components.Add <IRequestParserFactory, RequestParserFactory>(); } if (!_components.Contains(typeof(IHttpContextFactory))) { _components.AddInstance <IHttpContextFactory>(new HttpContextFactory(LogWriter, 16384, _components.Get <IRequestParserFactory>())); } // the special folder does not exist on mono string tempPath = Environment.GetFolderPath(Environment.SpecialFolder.InternetCache); if (string.IsNullOrEmpty(tempPath)) { tempPath = "/var/tmp/"; } if (!Directory.Exists(tempPath)) { WriteLog(this, LogPrio.Warning, "Temp path do not exist: " + tempPath); return; } DirectoryInfo info = new DirectoryInfo(tempPath); foreach (FileInfo file in info.GetFiles("*.tmp")) { file.Delete(); } if (_requestQueue == null) { _requestQueue = new RequestQueue(ProcessRequestWrapper); } _requestQueue.Start(); }
/// <summary> /// Initializes a new instance of the <see cref="HttpServer"/> class. /// </summary> /// <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="HttpInput"/> object types.</param> /// <param name="logWriter">The log writer.</param> /// <seealso cref="IFormDecoder"/> /// <seealso cref="FormDecoderProviders"/> /// <seealso cref="LogWriter"/> public HttpServer(FormDecoderProvider decoderProvider, ILogWriter logWriter) { Check.Require(decoderProvider, "decoderProvider"); _components = new ComponentProvider(); _components.AddInstance <FormDecoderProvider>(decoderProvider); if (logWriter != null) { _components.AddInstance <ILogWriter>(logWriter); _logWriter = logWriter; } _components.Get <ILogWriter>(); _requestQueue = new RequestQueue(ProcessRequestWrapper); }
/// <summary> /// Initializes a new instance of the <see cref="HttpServer"/> class. /// </summary> /// <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="HttpInput"/> object types.</param> /// <param name="sessionStore">A session store is used to save and retrieve sessions</param> /// <param name="logWriter">The log writer.</param> /// <seealso cref="IFormDecoder"/> /// <seealso cref="FormDecoderProviders"/> /// <seealso cref="LogWriter"/> /// <seealso cref="IHttpSessionStore"/> public HttpServer(FormDecoderProvider decoderProvider, IHttpSessionStore sessionStore, ILogWriter logWriter) { Check.Require(decoderProvider, "decoderProvider"); Check.Require(sessionStore, "sessionStore"); _components = new ComponentProvider(); _components.AddInstance <FormDecoderProvider>(sessionStore); _components.AddInstance <IHttpSessionStore>(sessionStore); if (logWriter != null) { _components.AddInstance <ILogWriter>(logWriter); } _requestQueue = new RequestQueue(ProcessRequestWrapper); }
/// <summary> /// Initializes a new instance of the <see cref="HttpServer"/> class. /// </summary> public HttpServer() { _components = new ComponentProvider(); _requestQueue = new RequestQueue(ProcessRequestWrapper); }
/// <summary> /// Initializes a new instance of the <see cref="HttpServer"/> class. /// </summary> /// <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="HttpInput"/> object types.</param> /// <param name="sessionStore">A session store is used to save and retrieve sessions</param> /// <param name="logWriter">The log writer.</param> /// <seealso cref="IFormDecoder"/> /// <seealso cref="FormDecoderProviders"/> /// <seealso cref="LogWriter"/> /// <seealso cref="IHttpSessionStore"/> public HttpServer(FormDecoderProvider decoderProvider, IHttpSessionStore sessionStore, ILogWriter logWriter) { Check.Require(decoderProvider, "decoderProvider"); Check.Require(sessionStore, "sessionStore"); _components = new ComponentProvider(); _components.AddInstance<FormDecoderProvider>(sessionStore); _components.AddInstance<IHttpSessionStore>(sessionStore); if (logWriter != null) _components.AddInstance<ILogWriter>(logWriter); _requestQueue = new RequestQueue(ProcessRequestWrapper); }
/// <summary> /// Initializes a new instance of the <see cref="HttpServer"/> class. /// </summary> /// <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="HttpInput"/> object types.</param> /// <param name="logWriter">The log writer.</param> /// <seealso cref="IFormDecoder"/> /// <seealso cref="FormDecoderProviders"/> /// <seealso cref="LogWriter"/> public HttpServer(FormDecoderProvider decoderProvider, ILogWriter logWriter) { Check.Require(decoderProvider, "decoderProvider"); Check.Require(logWriter, "logWriter"); _components = new ComponentProvider(); _components.AddInstance<FormDecoderProvider>(decoderProvider); _requestQueue = new RequestQueue(ProcessRequestWrapper); }
/// <summary> /// Initializes a new instance of the <see cref="HttpServer"/> class. /// </summary> /// <param name="sessionStore">A session store is used to save and retrieve sessions</param> /// <seealso cref="IHttpSessionStore"/> public HttpServer(IHttpSessionStore sessionStore) { Check.Require(sessionStore, "sessionStore"); _components = new ComponentProvider(); _components.AddInstance<IHttpSessionStore>(sessionStore); _requestQueue = new RequestQueue(ProcessRequestWrapper); }
/// <summary> /// Initializes a new instance of the <see cref="HttpServer"/> class. /// </summary> /// <param name="logWriter">The log writer.</param> /// <seealso cref="LogWriter"/> public HttpServer(ILogWriter logWriter) { _components = new ComponentProvider(); if (_logWriter != null) { _components.AddInstance<ILogWriter>(logWriter); _logWriter = logWriter; } _requestQueue = new RequestQueue(ProcessRequestWrapper); }
protected void Init() { RequestReceived += RequestHandler; _notFoundHandler = new HttpRequestHandler(null, Default404Handler, true); if (_requestQueue == null) _requestQueue = new RequestQueue(ProcessRequestWrapper); _requestQueue.Start(); }
private void Init() { _sessionStore = _components.Get<IHttpSessionStore>(); if (_sessionStore == null) { WriteLog(this, LogPrio.Info, "Defaulting to memory session store."); _sessionStore = new MemorySessionStore(); } // add default decoders if none have been added. if (FormDecoderProviders.Count == 0) { WriteLog(this, LogPrio.Info, "Loading UrlDecoder, XmlDecoder and MultipartDecoder, since no decoders have been added."); _formDecodersProvider.Add(new UrlDecoder()); _formDecodersProvider.Add(new MultipartDecoder()); _formDecodersProvider.Add(new XmlDecoder()); } // Components for building requests. if (!_components.Contains(typeof(IRequestParserFactory))) _components.Add<IRequestParserFactory, RequestParserFactory>(); if (!_components.Contains(typeof(IHttpContextFactory))) _components.AddInstance<IHttpContextFactory>(new HttpContextFactory(LogWriter, 16384, _components.Get <IRequestParserFactory>())); // the special folder does not exist on mono string tempPath = Environment.GetFolderPath(Environment.SpecialFolder.InternetCache); if (string.IsNullOrEmpty(tempPath)) tempPath = "/var/tmp/"; if (!Directory.Exists(tempPath)) { WriteLog(this, LogPrio.Warning, "Temp path do not exist: " + tempPath); return; } DirectoryInfo info = new DirectoryInfo(tempPath); foreach (FileInfo file in info.GetFiles("*.tmp")) file.Delete(); if (_requestQueue == null) _requestQueue = new RequestQueue(ProcessRequestWrapper); _requestQueue.Start(); }