source: binary-improvements2/WebServer/src/WebAPI/APIs/WebMods.cs@ 410

Last change on this file since 410 was 408, checked in by alloc, 21 months ago

Few pieces of code cleanup

File size: 1.5 KB
RevLine 
[391]1using JetBrains.Annotations;
[402]2using Utf8Json;
[391]3
[402]4namespace Webserver.WebAPI.APIs {
[391]5 [UsedImplicitly]
[402]6 public class WebMods : AbsRestApi {
7 private readonly byte[] loadedWebMods;
[391]8
[402]9 public WebMods (Web _parent) {
10 JsonWriter writer = new JsonWriter ();
11 writer.WriteBeginArray ();
12
[408]13 for (int i = 0; i < _parent.webMods.Count; i++) {
14 WebMod webMod = _parent.webMods [i];
15
16 if (i > 0) {
[402]17 writer.WriteValueSeparator ();
18 }
[408]19
[402]20 writer.WriteBeginObject ();
[408]21
[402]22 writer.WriteString ("name");
23 writer.WriteNameSeparator ();
24 writer.WriteString (webMod.ParentMod.Name);
[391]25
26 string webModReactBundle = webMod.ReactBundle;
27 if (webModReactBundle != null) {
[402]28 writer.WriteValueSeparator ();
29 writer.WriteString ("bundle");
30 writer.WriteNameSeparator ();
31 writer.WriteString (webModReactBundle);
[391]32 }
[408]33
[391]34 string webModCssFile = webMod.CssPath;
35 if (webModCssFile != null) {
[402]36 writer.WriteValueSeparator ();
37 writer.WriteString ("css");
38 writer.WriteNameSeparator ();
39 writer.WriteString (webModCssFile);
[391]40 }
[408]41
[402]42 writer.WriteEndObject ();
43 }
[408]44
[402]45 writer.WriteEndArray ();
[391]46
[402]47 loadedWebMods = writer.ToUtf8ByteArray ();
[391]48 }
49
[402]50 protected override void HandleRestGet (RequestContext _context) {
51 PrepareEnvelopedResult (out JsonWriter writer);
52 writer.WriteRaw (loadedWebMods);
53 SendEnvelopedResult (_context, ref writer);
[391]54 }
55
[408]56 public override int DefaultPermissionLevel () => 2000;
[391]57 }
58}
Note: See TracBrowser for help on using the repository browser.