Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
ContentMatch.cs
1using System.Text;
2using System.Threading.Tasks;
3using System.Xml;
6
8{
13 {
17 public ContentMatch()
18 : base()
19 {
20 }
21
28 public ContentMatch(XmlElement Xml, WafAction Parent, WebApplicationFirewall Document)
29 : base(Xml, Parent, Document)
30 {
31 }
32
36 public override string LocalName => nameof(ContentMatch);
37
45 public override WafAction Create(XmlElement Xml, WafAction Parent, WebApplicationFirewall Document) => new ContentMatch(Xml, Parent, Document);
46
52 public override async Task<WafResult?> Review(ProcessingState State)
53 {
54 if (!State.Request.HasData)
55 return null;
56
57 if (State.ContentAsString is null)
58 {
59 long Pos = State.Request.DataStream.Position;
60 byte[] Bin = await State.Request.DataStream.ReadAllAsync();
61 State.Request.DataStream.Position = Pos;
62
63 Encoding Encoding = State.Request.Header.ContentType?.Encoding ?? Encoding.UTF8;
64 State.ContentAsString = Encoding.GetString(Bin);
65 }
66
67 return await this.Review(State, State.ContentAsString);
68 }
69 }
70}
Checks for a match against the Content of the request.
Definition: ContentMatch.cs:13
override async Task< WafResult?> Review(ProcessingState State)
Reviews the processing state, and returns a WAF result, if any.
Definition: ContentMatch.cs:52
override string LocalName
XML Local Name for the XML element defining the action.
Definition: ContentMatch.cs:36
ContentMatch(XmlElement Xml, WafAction Parent, WebApplicationFirewall Document)
Checks for a match against the Content of the request.
Definition: ContentMatch.cs:28
override WafAction Create(XmlElement Xml, WafAction Parent, WebApplicationFirewall Document)
Creates a WAF action from its XML definition.
ContentMatch()
Checks for a match against the Content of the request.
Definition: ContentMatch.cs:17
Abstract base class for Web Application Firewall conditions.
Definition: WafCondition.cs:21
Contains the current state of a review process.
string ContentAsString
Content decoded as a string.
HttpRequest Request
Current HTTP Request
Abstract base class for Web Application Firewall actions.
Definition: WafAction.cs:17
WebApplicationFirewall Document
Web Application Firewall document.
Definition: WafAction.cs:60
Web Application Firewall for HttpServer.