Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
HttpProtocol.cs
2using System.Text;
3using System.Threading.Tasks;
5using Waher.Reports;
8using Waher.Things;
10
12{
14 {
15 private readonly HttpServer server;
16
18 : base("HTTP", Parent)
19 {
20 this.server = Server;
21 }
22
23 public override async Task<IEnumerable<Parameter>> GetDisplayableParametersAsync(Language Language, RequestOrigin Caller)
24 {
25 LinkedList<Parameter> Parameters = new LinkedList<Parameter>();
26
27 Parameters.AddLast(new StringParameter("HttpPorts", await Language.GetStringAsync(typeof(XmppServerModule), 3, "HTTP Ports"), PortsToString(this.server.OpenHttpPorts)));
28 Parameters.AddLast(new StringParameter("HttpsPorts", await Language.GetStringAsync(typeof(XmppServerModule), 4, "HTTPS Ports"), PortsToString(this.server.OpenHttpsPorts)));
29
30 return Parameters;
31 }
32
33 internal static string PortsToString(int[] Ports)
34 {
35 StringBuilder sb = new StringBuilder();
36 bool First = true;
37
38 foreach (int Port in Ports)
39 {
40 if (First)
41 First = false;
42 else
43 sb.Append(", ");
44
45 sb.Append(Port.ToString());
46 }
47
48 return sb.ToString();
49 }
50
56 public override Task<ExecuteReport> GetExecuteCommand()
57 {
58 return Task.FromResult<ExecuteReport>(new HttpStatisticsCommand(this));
59 }
60 }
61}
Implements an HTTP server.
Definition: HttpServer.cs:41
Abstract base class for commands executing a report.
INode Parent
Parent Node, or null if a root node.
Definition: ReportNode.cs:107
Contains information about a language.
Definition: Language.cs:17
Task< string > GetStringAsync(Type Type, int Id, string Default)
Gets the string value of a string ID. If no such string exists, a string is created with the default ...
Definition: Language.cs:209
override async Task< IEnumerable< Parameter > > GetDisplayableParametersAsync(Language Language, RequestOrigin Caller)
Gets displayable parameters.
Definition: HttpProtocol.cs:23
override Task< ExecuteReport > GetExecuteCommand()
Gets the command object to execute a report. If null is returned, the report node is just a group pla...
Definition: HttpProtocol.cs:56
Abstract base class for server report nodes, requiring admin privileges to be seen and executed.
Service Module hosting the XMPP broker and its components.
Tokens available in request.
Definition: RequestOrigin.cs:9