Exemplo n.º 1
0
        static void Main(string[] args)
        {
            //LogManager.Assign(new SimpleLogManager<ConsoleLogger>());

            // Module manager handles all modules in the server
            var moduleManager = new ModuleManager();

            // Let's serve our downloaded files (Windows 7 users)
            var fileService = new DiskFileService("/", string.Format(@"C:\Users\{0}\Downloads", Environment.UserName));

            // Create the file module and allow files to be listed.
            var module = new FileModule(fileService) {AllowFileListing = true};

            // Add the module
            moduleManager.Add(module);
            moduleManager.Add(new MyModule());

            moduleManager.Add(new MyModule2());
            // And start the server.
            var server = new HttpServer(moduleManager);
            server.Start(IPAddress.Any, 0);
            Console.WriteLine("PORT " + server.LocalPort);

            //TrySendARequest(server);

            Console.ReadLine();
        }
Exemplo n.º 2
0
        public void Start(int port)
        {
            try
            {
                // Module manager handles all modules in the server
                var moduleManager = new ModuleManager();

                // Let's serve our downloaded files (Windows 7 users)
                var fileService = new DiskFileService("/", Settings.WebServerFolder);

                // Create the file module and allow files to be listed.
                var module = new FileModule(fileService) { ListFiles = false };

                var routerModule = new RouterModule();

                // Add the module
                //moduleManager.Add(module);
                moduleManager.Add(new WebServerModule());

                //moduleManager.Add(new BodyDecodingModule(new UrlFormattedDecoder()));

                // And start the server.
                var server = new HttpServer(moduleManager);

                server.Start(IPAddress.Any, port);
            }
            catch (Exception ex)
            {
                Log.Error("Unable to start web server ", ex);
            }
        }
Exemplo n.º 3
0
 public void Stop()
 {
     webServer.Stop();
     webServer = null;
     isWebServerStarted = false;
     
     wsServer.Stop();
     wsServer.Dispose();
     wsServer = null;
     isWSServerStarted = false;
 }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            //LogManager.Assign(new SimpleLogManager<ConsoleLogger>());

            // Module manager handles all modules in the server
            var moduleManager = new ModuleManager();

            // Let's serve our downloaded files (Windows 7 users)
            var fileService = new DiskFileService("/", string.Format(@"C:\Users\{0}\Downloads", Environment.UserName));

            // Create the file module and allow files to be listed.
            var module = new FileModule(fileService) {ListFiles = true};

            // Add the module
            moduleManager.Add(module);
            moduleManager.Add(new MyModule());

            moduleManager.Add(new MyModule2());
            // And start the server.
            var server = new HttpServer(moduleManager);
            server.Start(IPAddress.Any, 0);
            Console.WriteLine("PORT " + server.LocalPort);

            var request =
                @"GET /?signature=1dfea26808d632903549c69d78558fce1c418405&echostr=5867553698596935317&timestamp=1365661332&nonce=1366146317 HTTP/1.0
User-Agent:Mozilla/4.0
Host:58.215.164.183
Pragma:no-cache
Connection/Value:Keep-Alive

";
            var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            socket.Connect(IPAddress.Loopback, server.LocalPort);
            socket.Send(Encoding.UTF8.GetBytes(request));
            var buffer = new byte[65535];
            var len = socket.Receive(buffer, 0, buffer.Length, SocketFlags.None);
            var answer = Encoding.UTF8.GetString(buffer, 0, len);
            Console.WriteLine(answer);
            len = socket.Receive(buffer, 0, buffer.Length, SocketFlags.None);
            answer = Encoding.UTF8.GetString(buffer, 0, len);
            Console.WriteLine(answer);

            Console.ReadLine();
        }
Exemplo n.º 5
0
        private static void TrySendARequest(HttpServer server)
        {
            var request =
                @"GET /?signature=1dfea26808d632903549c69d78558fce1c418405&echostr=5867553698596935317&timestamp=1365661332&nonce=1366146317 HTTP/1.0
User-Agent:Mozilla/4.0
Host:58.215.164.183
Pragma:no-cache
Connection/Value:Keep-Alive

";
            var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            socket.Connect(IPAddress.Loopback, server.LocalPort);
            socket.Send(Encoding.UTF8.GetBytes(request));
            var buffer = new byte[65535];
            var len = socket.Receive(buffer, 0, buffer.Length, SocketFlags.None);
            var answer = Encoding.UTF8.GetString(buffer, 0, len);
            Console.WriteLine(answer);
            len = socket.Receive(buffer, 0, buffer.Length, SocketFlags.None);
            answer = Encoding.UTF8.GetString(buffer, 0, len);
            Console.WriteLine(answer);
        }
Exemplo n.º 6
0
        private void StartWebServer(int httpPort)
        {
            if (!isWebServerStarted)
            {
                //if (Log != null)
                //    Log(this, "Starting web server... ", false, LogLevel.Normal);

                try
                {
                    var moduleManager = new ModuleManager();

                    //string root = Path.GetPathRoot(Assembly.GetExecutingAssembly().Location);
                    string root = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\WebSite\";

                    var fileService = new DiskFileService("/", root);
                    var module = new FileModule(fileService) { ListFiles = false };

                    // Add the module
                    moduleManager.Add(new RootModule());
                    moduleManager.Add(module);
                    //moduleManager.Add(new BodyDecodingModule(new UrlFormattedDecoder()));

                    // And start the server.
                    webServer = new HttpServer(moduleManager);
                    webServer.Start(IPAddress.Any, httpPort);

                    isWebServerStarted = true;
                }
                catch (Exception)
                {
                    isWebServerStarted = false;
                }

                //if (Log != null)
                //    Log(this, isWebServerStarted ? "Success." : "Failed.", true, isWebServerStarted ? LogLevel.Success : LogLevel.Error);
            }
        }
Exemplo n.º 7
0
        static void Main(string[] args)
        {
            LogManager.Assign(new SimpleLogManager<ConsoleLogger>());

            // Module manager handles all modules in the server
            var moduleManager = new ModuleManager();

            // Let's serve our downloaded files (Windows 7 users)
            var fileService = new DiskFileService("/", string.Format(@"C:\Users\{0}\Downloads", Environment.UserName));

            // Create the file module and allow files to be listed.
            var module = new FileModule(fileService) {ListFiles = true};

            // Add the module
            moduleManager.Add(module);
            moduleManager.Add(new BodyDecodingModule(new UrlFormattedDecoder()));
            moduleManager.Add(new MyModule());

            // And start the server.
            var server = new HttpServer(moduleManager);
            server.Start(IPAddress.Any, 8080);

            Console.ReadLine();
        }
        public SimpleWebServer(string prefixes, X509Certificate2 certificate = null)
        {
            Uri uri = new Uri(prefixes);
            this.port = uri.Port;
            this.certificate = certificate;

            _worker = new HttpWorker();
            ModuleManager moduleManager = new ModuleManager();
            moduleManager.Add(_worker);
            _listener = new HttpServer(moduleManager);
        }
Exemplo n.º 9
0
        public static void StartAdmin()
        {
            try
            {
                while(Util.PortIsBusy(Convert.ToInt32(YAMS.Database.GetSetting("AdminListenPort", "YAMS"))) && AdminTryCount < 120) {
                    AdminTryCount++;
                    Database.AddLog("Admin Web server port still in use, attempt " + AdminTryCount, "web", "warn");
                    Thread.Sleep(5000);
                }

                //start new webserver for admin, session handling built-in
                var server = new Griffin.WebServer.HttpServer(adminModuleManager);
                server.Start(IPAddress.Any, Convert.ToInt32(YAMS.Database.GetSetting("AdminListenPort", "YAMS")));
            }
            catch (System.Net.Sockets.SocketException e)
            {
                //Previous service has not released the port, so hang on and try again.
                Database.AddLog("Admin Web server port still in use, attempt " + AdminTryCount + ": " + e.Message, "web", "warn");
            }
            catch (Exception e) {
                EventLog myLog = new EventLog();
                myLog.Source = "YAMS";
                myLog.WriteEntry("Exception: " + e.Data, EventLogEntryType.Error);
            }
            
        }