Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
BlobResource.cs
1using System;
3using System.Threading.Tasks;
6
8{
12 public class BlobResource : Resource
13 {
14 private readonly Func<Task<CustomEncoding>>? readCustom;
15 private readonly Func<Task<byte[]>>? readBinary;
16
29 public BlobResource(string Name, string Title, string Description, Uri Uri,
30 Func<Task<CustomEncoding>> Read, params KeyValuePair<string, object>[] MetaData)
32 {
33 this.readCustom = Read;
34 this.readBinary = null;
35 }
36
52 public BlobResource(string Name, string Title, string Description, Uri Uri,
53 Func<Task<CustomEncoding>> Read, string? RequiredPrivilege,
54 params KeyValuePair<string, object>[] MetaData)
56 {
57 this.readCustom = Read;
58 this.readBinary = null;
59 }
60
79 public BlobResource(string Name, string Title, string Description, Uri Uri,
80 Func<Task<CustomEncoding>> Read, string? RequiredPrivilege, long? Size,
81 params KeyValuePair<string, object>[] MetaData)
84 {
85 this.readCustom = Read;
86 this.readBinary = null;
87 }
88
108 public BlobResource(string Name, string Title, string Description, Uri Uri,
109 Func<Task<CustomEncoding>> Read, string? RequiredPrivilege, long? Size,
110 Icon Icon, params KeyValuePair<string, object>[] MetaData)
112 Icon, MetaData)
113 {
114 this.readCustom = Read;
115 this.readBinary = null;
116 }
117
137 public BlobResource(string Name, string Title, string Description, Uri Uri,
138 Func<Task<CustomEncoding>> Read, string? RequiredPrivilege, long? Size,
139 Icons? Icons, params KeyValuePair<string, object>[] MetaData)
142 {
143 this.readCustom = Read;
144 this.readBinary = null;
145 }
146
176 public BlobResource(string Name, string Title, string Description, Uri Uri,
177 Func<Task<CustomEncoding>> Read, string? RequiredPrivilege, long? Size,
178 Icons? Icons, McpRole[]? Audience, double? Priority, DateTime? LastModified,
179 params KeyValuePair<string, object>[] MetaData)
182 {
183 this.readCustom = Read;
184 this.readBinary = null;
185 }
186
199 public BlobResource(string Name, string Title, string Description, Uri Uri,
200 Func<Task<byte[]>> Read, params KeyValuePair<string, object>[] MetaData)
201 : base(Name, Title, Description, Uri, MetaData)
202 {
203 this.readCustom = null;
204 this.readBinary = Read;
205 }
206
222 public BlobResource(string Name, string Title, string Description, Uri Uri,
223 Func<Task<byte[]>> Read, string? RequiredPrivilege,
224 params KeyValuePair<string, object>[] MetaData)
226 {
227 this.readCustom = null;
228 this.readBinary = Read;
229 }
230
247 public BlobResource(string Name, string Title, string Description, Uri Uri,
248 Func<Task<byte[]>> Read, string? RequiredPrivilege, string? ContentType,
249 params KeyValuePair<string, object>[] MetaData)
251 {
252 this.readCustom = null;
253 this.readBinary = Read;
254 }
255
275 public BlobResource(string Name, string Title, string Description, Uri Uri,
276 Func<Task<byte[]>> Read, string? RequiredPrivilege, string? ContentType,
277 long? Size, params KeyValuePair<string, object>[] MetaData)
279 MetaData)
280 {
281 this.readCustom = null;
282 this.readBinary = Read;
283 }
284
305 public BlobResource(string Name, string Title, string Description, Uri Uri,
306 Func<Task<byte[]>> Read, string? RequiredPrivilege, string? ContentType,
307 long? Size, Icon Icon, params KeyValuePair<string, object>[] MetaData)
309 Icon, MetaData)
310 {
311 this.readCustom = null;
312 this.readBinary = Read;
313 }
314
335 public BlobResource(string Name, string Title, string Description, Uri Uri,
336 Func<Task<byte[]>> Read, string? RequiredPrivilege, string? ContentType,
337 long? Size, Icons? Icons, params KeyValuePair<string, object>[] MetaData)
340 {
341 this.readCustom = null;
342 this.readBinary = Read;
343 }
344
375 public BlobResource(string Name, string Title, string Description, Uri Uri,
376 Func<Task<byte[]>> Read, string? RequiredPrivilege, string? ContentType,
377 long? Size, Icons? Icons, McpRole[]? Audience, double? Priority,
378 DateTime? LastModified, params KeyValuePair<string, object>[] MetaData)
381 {
382 this.readCustom = null;
383 this.readBinary = Read;
384 }
385
391 public override async Task<IResourceContent[]> Read(
392 Dictionary<string, object>? MetaData)
393 {
394 BlobContent Content;
395
396 if (this.readBinary is null)
397 {
398 CustomEncoding Encoded = await this.readCustom!();
399 Content = new BlobContent(this.Uri, Encoded.Encoded, Encoded.ContentType,
400 MetaData);
401 }
402 else
403 {
404 byte[] Encoded = await this.readBinary();
405 Content = new BlobContent(this.Uri, Encoded,
407 }
408
409 return new IResourceContent[]
410 {
411 Content
412 };
413 }
414 }
415}
const string DefaultContentType
text/plain
Definition: BinaryCodec.cs:24
A custom encoded object.
string ContentType
Internet Content-Type of encoded object.
DateTime? LastModified
The moment the resource was last modified, as an ISO 8601 formatted string.
Definition: Annotations.cs:61
double? Priority
Describes how important this data is for operating the server.
Definition: Annotations.cs:53
McpRole?[] Audience
Describes who the intended audience of this object or data is.
Definition: Annotations.cs:44
An optionally-sized icon that can be displayed in a user interface.
Definition: Icon.cs:10
Base interface to add icons property.
Definition: Icons.cs:11
Contains information about an MCP Server BLOB Resource
Definition: BlobResource.cs:13
BlobResource(string Name, string Title, string Description, Uri Uri, Func< Task< CustomEncoding > > Read, string? RequiredPrivilege, long? Size, Icons? Icons, McpRole[]? Audience, double? Priority, DateTime? LastModified, params KeyValuePair< string, object >[] MetaData)
Contains information about an MCP Server BLOB Resource
override async Task< IResourceContent[]> Read(Dictionary< string, object >? MetaData)
Reads the resource.
BlobResource(string Name, string Title, string Description, Uri Uri, Func< Task< byte[]> > Read, string? RequiredPrivilege, string? ContentType, params KeyValuePair< string, object >[] MetaData)
Contains information about an MCP Server BLOB Resource
BlobResource(string Name, string Title, string Description, Uri Uri, Func< Task< byte[]> > Read, params KeyValuePair< string, object >[] MetaData)
Contains information about an MCP Text Server Resource
BlobResource(string Name, string Title, string Description, Uri Uri, Func< Task< CustomEncoding > > Read, string? RequiredPrivilege, params KeyValuePair< string, object >[] MetaData)
Contains information about an MCP Text Server Resource
Definition: BlobResource.cs:52
BlobResource(string Name, string Title, string Description, Uri Uri, Func< Task< byte[]> > Read, string? RequiredPrivilege, string? ContentType, long? Size, Icons? Icons, params KeyValuePair< string, object >[] MetaData)
Contains information about an MCP Server BLOB Resource
BlobResource(string Name, string Title, string Description, Uri Uri, Func< Task< byte[]> > Read, string? RequiredPrivilege, params KeyValuePair< string, object >[] MetaData)
Contains information about an MCP Text Server Resource
BlobResource(string Name, string Title, string Description, Uri Uri, Func< Task< CustomEncoding > > Read, params KeyValuePair< string, object >[] MetaData)
Contains information about an MCP Text Server Resource
Definition: BlobResource.cs:29
BlobResource(string Name, string Title, string Description, Uri Uri, Func< Task< CustomEncoding > > Read, string? RequiredPrivilege, long? Size, Icon Icon, params KeyValuePair< string, object >[] MetaData)
Contains information about an MCP Server BLOB Resource
BlobResource(string Name, string Title, string Description, Uri Uri, Func< Task< CustomEncoding > > Read, string? RequiredPrivilege, long? Size, Icons? Icons, params KeyValuePair< string, object >[] MetaData)
Contains information about an MCP Server BLOB Resource
BlobResource(string Name, string Title, string Description, Uri Uri, Func< Task< CustomEncoding > > Read, string? RequiredPrivilege, long? Size, params KeyValuePair< string, object >[] MetaData)
Contains information about an MCP Server BLOB Resource
Definition: BlobResource.cs:79
BlobResource(string Name, string Title, string Description, Uri Uri, Func< Task< byte[]> > Read, string? RequiredPrivilege, string? ContentType, long? Size, Icons? Icons, McpRole[]? Audience, double? Priority, DateTime? LastModified, params KeyValuePair< string, object >[] MetaData)
Contains information about an MCP Server BLOB Resource
BlobResource(string Name, string Title, string Description, Uri Uri, Func< Task< byte[]> > Read, string? RequiredPrivilege, string? ContentType, long? Size, params KeyValuePair< string, object >[] MetaData)
Contains information about an MCP Server BLOB Resource
BlobResource(string Name, string Title, string Description, Uri Uri, Func< Task< byte[]> > Read, string? RequiredPrivilege, string? ContentType, long? Size, Icon Icon, params KeyValuePair< string, object >[] MetaData)
Contains information about an MCP Server BLOB Resource
Contains information about an MCP Server Resource
Definition: Resource.cs:14
string Title
A human-readable title for the prompt.
Definition: Resource.cs:211
KeyValuePair< string, object >[] MetaData
Meta-data associated with prompt.
Definition: Resource.cs:252
string? RequiredPrivilege
Privilege required to access the resource, if any. If null, no additional privilege is required.
Definition: Resource.cs:230
long? Size
The size of the raw resource content, in bytes (i.e., before base64 encoding or any tokenization),...
Definition: Resource.cs:242
string Description
A human-readable description of the prompt.
Definition: Resource.cs:219
string? ContentType
Content-Type of resource, if known.
Definition: Resource.cs:235
McpRole
Identifies a Role in a Model Context Protocol (MCP) context.
Definition: McpRole.cs:7