//have this write back to the request public override void Handler(WebRequest req) { if (!req.Headers.ContainsKey("Content-Length")) { int length = 0; if (req.Body != null) { length = (int)req.Body.Length; } req.Headers.Add("Content-Length", length.ToString()); } //call the service on the request if (req.URI.StartsWith(ServiceURI, StringComparison.Ordinal)) { req.WriteHtmlResponse(string.Format(c_template, req.Method, req.URI, req.Headers["Content-Length"], "11382134")); } else { req.WriteNotFoundResponse(string.Format(c_template, req.Method, req.URI, req.Headers["Content-Length"], "11382134")); } }
//when a directory is requested private void RespondWithList(Dir422 dir, WebRequest req) { var html = new System.Text.StringBuilder("<html>"); //DIR STUFF html.Append("<h1>Folders</h1>"); foreach (Dir422 directory in dir.GetDirs()) { html.Append(BuildDirHTML(directory)); } //FILE STUFF html.Append("<h1>Files</h1>"); foreach (File422 file in dir.GetFiles()) { html.AppendFormat(BuildFileHTML(file)); } html.AppendLine("</html>"); req.WriteHtmlResponse(html.ToString()); }