コード例 #1
0
ファイル: HttpFileServer.cs プロジェクト: bberak/SelfServe
        protected virtual void OnDirectoryFound(string currentDirPath, HttpListenerResponse response)
        {
            Log("Client requested directory ({0})... Found", currentDirPath);

            StringBuilder sb = new StringBuilder();
            sb.Append("<!DOCTYPE HTML><html><head><title>Directory Listing</title></head><body><ul>");

            foreach (string subDirPath in Directory.EnumerateDirectories(currentDirPath))
            {
                string subDirUrl = subDirPath.ToUrl(RootPath);
                string subDirName = Path.GetFileName(subDirPath);

                sb.Append(
                    string.Format("<li><b><a href=\"{0}\">{1}</a></b></li>",
                        subDirUrl,
                        subDirName)
                );
            }

            foreach (string filePath in Directory.EnumerateFiles(currentDirPath))
            {
                string filePathUrl = filePath.ToUrl(RootPath);
                string filenName = Path.GetFileName(filePath);

                sb.Append(
                    string.Format("<li><a href=\"{0}\">{1}</a></li>",
                        filePathUrl,
                        filenName)
                );
            }

            sb.Append("</ul></body></html>");

            response.ContentType = "text/html; charset=UTF-8";
            response.WriteText(sb);
        }
コード例 #2
0
ファイル: HttpFileServer.cs プロジェクト: bberak/SelfServe
        protected virtual void OnPathNotFound(HttpListenerRequest request, HttpListenerResponse response)
        {
            Log("Client requested path ({0})... Not found", request.RawUrl);

            var error = @"<!DOCTYPE HTML>
                          <html>
                             <head>
                                <title>Path Not Found</title>
                             </head>
                             <body>
                                <h1>Path Not Found</h1>
                             </body>
                          </html>";

            response.StatusCode = (int)HttpStatusCode.NotFound;
            response.ContentType = "text/html; charset=UTF-8";
            response.WriteText(error);
        }