Пример #1
0
        public RestService(int port, bool useSsl, params string[] domains)
        {
            IsListening           = false;
            IgnoreFaviconRequests = false;
            m_requestTree         = new RestRequestTree();
            UsingSsl = useSsl;

            m_httpServer = new RestHttpServer(port, useSsl, domains);

            m_httpServer.Message += OnServerMessage;
            m_httpServer.Error   += OnServerError;
            m_httpServer.Request += OnHttpRequest;
        }
        public async Task StartAsync(string port, RestRequestTree requestTree)
        {
            m_requestTree = requestTree;

            this.httpListener.Prefixes.Add(string.Format("http://localhost:{0}/", port));
            this.httpListener.Start();

            Console.WriteLine("Listening for requests on port {0}.", port);

            Request request = await GetNextRequestAsync();

            while (request != null)
            {
                if (!await TryRespondAsync(request))
                {
                    Console.WriteLine("HTTP 404 for {0}.", request.Endpoint);
                }

                request = await GetNextRequestAsync();
            }
        }