source: binary-improvements/MapRendering/Web/Handlers/StaticHandler.cs@ 330

Last change on this file since 330 was 325, checked in by alloc, 6 years ago

Code style cleanup (mostly whitespace changes, enforcing braces, using cleanup)

File size: 1.3 KB
RevLine 
[230]1using System.IO;
2using System.Net;
[325]3using AllocsFixes.FileCache;
[230]4
[325]5namespace AllocsFixes.NetConnections.Servers.Web.Handlers {
6 public class StaticHandler : PathHandler {
7 private readonly AbstractCache cache;
8 private readonly string datapath;
9 private readonly bool logMissingFiles;
10 private readonly string staticPart;
[230]11
[325]12 public StaticHandler (string staticPart, string filePath, AbstractCache cache, bool logMissingFiles,
13 string moduleName = null) : base (moduleName) {
[230]14 this.staticPart = staticPart;
[325]15 datapath = filePath;
[230]16 this.cache = cache;
17 this.logMissingFiles = logMissingFiles;
18 }
19
[325]20 public override void HandleRequest (HttpListenerRequest req, HttpListenerResponse resp, WebConnection user,
21 int permissionLevel) {
[230]22 string fn = req.Url.AbsolutePath.Remove (0, staticPart.Length);
23
[325]24 byte[] content = cache.GetFileContent (datapath + "/" + fn);
[251]25
[230]26 if (content != null) {
27 resp.ContentType = MimeType.GetMimeType (Path.GetExtension (fn));
28 resp.ContentLength64 = content.Length;
29 resp.OutputStream.Write (content, 0, content.Length);
30 } else {
[325]31 resp.StatusCode = (int) HttpStatusCode.NotFound;
32 if (logMissingFiles) {
33 Log.Out ("Web:Static:FileNotFound: \"" + req.Url.AbsolutePath + "\" @ \"" + datapath + "/" +
34 req.Url.AbsolutePath.Remove (0, staticPart.Length) + "\"");
35 }
[230]36 }
37 }
38 }
[325]39}
Note: See TracBrowser for help on using the repository browser.