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

Last change on this file since 311 was 251, checked in by peter.souza, 9 years ago

Enemies (zombies and hostile animal entities) are now shown on the map as Hostiles and require permission level 'webapi.gethostilelocation' for web viewers to see.

Animals (non-hostile entities) are now shown on the map as Animals and require permission level 'webapi.getanimalslocation' for web viewers to see.

Permission level for 'webapi.viewallclaims' is now required for a viewer to see all claims, otherwise the permission level for 'webapi.getlandclaims' will only show viewer-owned claims. A viewer requires both 'webapi.getlandclaims' and 'webapi.viewallclaims' to be set for all claims to show (you can't just set 'webapi.viewallclaims').
https://7daystodie.com/forums/showthread.php?12837-Improvements-for-the-dedicated-server&p=317405&viewfull=1#post317405

Permission level for 'webapi.viewallplayers' is now required for a viewer to see all players, otherwise the permission level for 'webapi.getplayerslocation' will only show the player for the currently-authenticated viewer. A viewer requires both 'webapi.getplayerslocation' and 'webapi.viewallplayers' to be set for all players to show (you can't just set 'webapi.viewallplayers').
https://7daystodie.com/forums/showthread.php?12837-Improvements-for-the-dedicated-server&p=317405&viewfull=1#post317405

Banned players are now hidden from the web map.
https://7daystodie.com/forums/showthread.php?12837-Improvements-for-the-dedicated-server&p=320702&viewfull=1#post320702

Items using 'CustomIcon' and 'CustomIconTint' are now supported (although the exact tinting may not be perfectly the same as the game).
https://7daystodie.com/forums/showthread.php?12837-Improvements-for-the-dedicated-server&p=317117&viewfull=1#post317117
https://7daystodie.com/forums/showthread.php?12837-Improvements-for-the-dedicated-server&p=317679&viewfull=1#post317679

Map marker icons for players, hostiles, and animals have been updated.

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