-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathDataWebRequest.cs
41 lines (26 loc) · 937 Bytes
/
DataWebRequest.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using System.Net;
namespace Gsemac.Net {
internal sealed class DataWebRequest :
WebRequest {
// Public members
public override long ContentLength {
get => dataUrl.DataLength;
}
public override string ContentType {
get => dataUrl.MimeType.ToString();
}
public override WebHeaderCollection Headers { get; set; } = new WebHeaderCollection();
public override IWebProxy Proxy { get; set; } = WebRequestUtilities.GetDefaultWebProxy();
public DataWebRequest(Uri uri) {
if (uri is null)
throw new ArgumentNullException(nameof(uri));
dataUrl = DataUrl.Parse(uri.AbsoluteUri);
}
public override WebResponse GetResponse() {
return new DataWebResponse(dataUrl);
}
// Private members
private readonly IDataUrl dataUrl;
}
}