Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
Base64UrlEncode.cs
1using System.Threading.Tasks;
2using Waher.Content;
7
9{
14 {
23 : base(Data, Start, Length, Expression)
24 {
25 }
26
30 public override string FunctionName => nameof(Base64UrlEncode);
31
39 {
40 if (!(Argument.AssociatedObjectValue is byte[] Bin))
41 throw new ScriptRuntimeException("Binary data expected.", this);
42
43 return new StringValue(Base64Url.Encode(Bin));
44 }
45
52 public override Task<IElement> EvaluateScalarAsync(IElement Argument, Variables Variables)
53 {
54 return Task.FromResult(this.EvaluateScalar(Argument, Variables));
55 }
56
57 }
58}
Static class that does BASE64URL encoding (using URL and filename safe alphabet), as defined in RFC46...
Definition: Base64Url.cs:11
static string Encode(byte[] Data)
Converts a binary block of data to a Base64URL-encoded string.
Definition: Base64Url.cs:48
override string FunctionName
Name of the function
Base64UrlEncode(ScriptNode Data, int Start, int Length, Expression Expression)
Base64UrlEncode(Data)
override IElement EvaluateScalar(IElement Argument, Variables Variables)
Evaluates the function on a scalar argument.
override Task< IElement > EvaluateScalarAsync(IElement Argument, Variables Variables)
Evaluates the function on a scalar argument.
Class managing a script expression.
Definition: Expression.cs:39
Base class for funcions of one scalar variable.
ScriptNode Argument
Function argument.
Base class for all nodes in a parsed script tree.
Definition: ScriptNode.cs:69
int Length
Length of expression covered by node.
Definition: ScriptNode.cs:101
int Start
Start position in script expression.
Definition: ScriptNode.cs:92
Collection of variables.
Definition: Variables.cs:25
Basic interface for all types of elements.
Definition: IElement.cs:20