private void ManipularRequisicao()
        {
            var httpListener = new HttpListener();

            foreach (var prefixo in _prefixos)
                httpListener.Prefixes.Add(prefixo);


            httpListener.Start();

            var contexto = httpListener.GetContext();
            var requisicao = contexto.Request;
            var resposta = contexto.Response;

            var path = requisicao.Url.AbsolutePath;

            if (Utilidades.EhArquivo(path))
            {
                var manipulador = new ManipuladorRequisicaoArquivo();
                manipulador.Maipular(resposta, path)
            }
                else if (path == "/Cambio/MXN")
                {
                    var controller = new CambioController();
                    var paginaConteudo = controller.MXN();
                }

                var bufferArquivo = Encoding.UTF8.GetBytes(paginaConteudo);
                resposta.StatusCode = 200;
                resposta.ContentType = "text/html; charset=uft-8";
                resposta.ContentLength64 = bufferArquivo.Length;

                resposta.OutputStream.Write(bufferArquivo, 0, bufferArquivo.Lenght);
                resposta.OutputStream.Close();
        }
Ejemplo n.º 2
0
        private void ManipularRequisicao()
        {
            var httpListener = new HttpListener();

            foreach (var prefixo in _prefixos)
            {
                httpListener.Prefixes.Add(prefixo);
            }

            httpListener.Start();

            var contexto   = httpListener.GetContext();
            var requisicao = contexto.Request;
            var resposta   = contexto.Response;

            var path = requisicao.Url.PathAndQuery;

            if (Utilidades.EhArquivo(path))
            {
                var manipulador = new ManipuladorRequisicaoArquivo();
                manipulador.Manipular(resposta, path);
            }
            else
            {
                var manipulador = new ManipuladorRequisicaoController(_container);
                manipulador.Manipular(resposta, path);
            }

            httpListener.Stop();
        }
Ejemplo n.º 3
0
        private void ManipularRequisicao()
        {
            //httpLisener: Classe que vai ficar ouvindo as requisições http.
            //prefixo: começo das urls que ele vai ouvir.
            var httpListener = new HttpListener();

            //Precisamos passar os prefixmo para a class httplistener
            foreach (string prefixo in this._prefixos)
            {
                httpListener.Prefixes.Add(prefixo);
            }

            //Start: iniciando o servidor
            httpListener.Start();

            //Precisamos obter o contexto:
            //quando nossa aplicação chega nesse ponto ela trava, fica esperando uma requisção.
            var contexto = httpListener.GetContext();

            //preciso de dois objetos. um de resposta e um de requisição.
            //objecto que representa nossa requisição
            var requisicao = contexto.Request;

            //ojecto que representa nossa resposta
            var resposta = contexto.Response;

            //Nao podemos devolder um texto puro, isso nao vai rolar. Tenho que transformar minha string em um fluxo de bytes.
            //O objexto Stream e um fluxo de bytes:
            //Conteudo a ser devolvido.
            var respostaConteudo = "hello World";

            //Transformando minha string em um array de bytes. Agora eu posso mandar esse array de bytes para nosso cliente para nossa rede.
            var respostaConteudoBytes = Encoding.UTF8.GetBytes(respostaConteudo);

            //AbsolutePath: indica qual diretorio a applicação esta tentando acessar
            var path = requisicao.Url.PathAndQuery;

            if (Utilidades.EhArquivo(path))
            {
                var manipulardor = new ManipuladorRequisicaoArquivo();

                manipulardor.Manipular(resposta, path);
            }
            else
            {
                var manipuladorController = new ManipuladorRequisicaoController(this._container);
                manipuladorController.Manipular(resposta, path);
            }

            httpListener.Stop();
        }
Ejemplo n.º 4
0
        private void ManipularRequisicao()
        {
            var httpListener = new HttpListener();

            foreach (var prefixo in _prefixos)
            {
                httpListener.Prefixes.Add(prefixo);
            }

            httpListener.Start();

            var contexto   = httpListener.GetContext();
            var requisicao = contexto.Request;
            var resposta   = contexto.Response;

            var path = requisicao.Url.AbsolutePath;

            if (Utilidades.EhArquivo(path))
            {
                var assembly     = Assembly.GetExecutingAssembly();
                var nomeResourve = Utilidades.ConverterPathParaNomeAssembly(path);

                var resourceStream = assembly.GetManifestResourceStream(nomeResourve);

                if (resourceStream == null)
                {
                    resposta.StatusCode = 404;
                    resposta.OutputStream.Close();
                }
                else
                {
                    var bytesResource = new byte[resourceStream.Length];

                    resourceStream.Read(bytesResource, 0, (int)resourceStream.Length);

                    resposta.ContentType     = Utilidades.BoterTipoDeConteudo(path);
                    resposta.StatusCode      = 200;
                    resposta.ContentLength64 = resourceStream.Length;

                    resposta.OutputStream.Write(bytesResource, 0, bytesResource.Length);

                    resposta.OutputStream.Close();
                }
            }
            else if (path == "/Cambio/MXN")
            {
                var controller     = new CambioController();
                var paginaConteudo = controller.MXN();

                var bufferArquivo = Encoding.UTF8.GetBytes(paginaConteudo);

                resposta.StatusCode      = 200;
                resposta.ContentType     = "text/html; charset=utf-8";
                resposta.ContentLength64 = bufferArquivo.Length;

                resposta.OutputStream.Write(bufferArquivo, 0, bufferArquivo.Length);
                resposta.OutputStream.Close();
            }
            else if (path == "/Cambio/USD")
            {
                var controller     = new CambioController();
                var paginaConteudo = controller.USD();

                var bufferArquivo = Encoding.UTF8.GetBytes(paginaConteudo);

                resposta.StatusCode      = 200;
                resposta.ContentType     = "text/html; charset=utf-8";
                resposta.ContentLength64 = bufferArquivo.Length;

                resposta.OutputStream.Write(bufferArquivo, 0, bufferArquivo.Length);
                resposta.OutputStream.Close();
            }

            httpListener.Stop();
        }