Exemplo n.º 1
0
        private static void OnGET(HttpListenerContext context)
        {
            var storageDir = Directory.CreateDirectory("storage");
            var url        = context.Request.Url;

            if (url == null)
            {
                throw new Ex07_AccessDenied();
            }

            if (url.AbsolutePath.Contains(".."))
            {
                Answer.Code(context, 403);
                return;
            }

            var file = new FileInfo(Path.Join(storageDir.FullName,
                                              url.AbsolutePath == "/" ? "/index.html" : url.AbsolutePath));

            if (!file.Exists)
            {
                Answer.Code(context, 404);
                return;
            }

            Answer.File(context, file);
        }