Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
HttpWebResponse.cs
Go to the documentation of this file.
3using System.IO;
6
7namespace System.Net;
8
10{
12
13 private readonly Uri _requestUri;
14
16
18
19 private string _characterSet;
20
21 private readonly bool _isVersionHttp11 = true;
22
23 public override bool IsMutuallyAuthenticated => base.IsMutuallyAuthenticated;
24
25 public override long ContentLength
26 {
27 get
28 {
30 long? num = _httpResponseMessage.Content?.Headers.ContentLength;
31 if (!num.HasValue)
32 {
33 return -1L;
34 }
35 return num.Value;
36 }
37 }
38
39 public override string ContentType
40 {
41 get
42 {
45 {
46 return string.Join(',', values);
47 }
48 return string.Empty;
49 }
50 }
51
52 public string ContentEncoding
53 {
54 get
55 {
57 if (_httpResponseMessage.Content != null)
58 {
60 }
61 return string.Empty;
62 }
63 }
64
66 {
67 get
68 {
70 return _cookies;
71 }
72 set
73 {
76 }
77 }
78
80 {
81 get
82 {
84 string text = Headers["Last-Modified"];
85 if (string.IsNullOrEmpty(text))
86 {
87 return DateTime.Now;
88 }
90 {
91 return result.LocalDateTime;
92 }
94 }
95 }
96
97 public string Server
98 {
99 get
100 {
102 string text = Headers["Server"];
103 if (!string.IsNullOrEmpty(text))
104 {
105 return text;
106 }
107 return string.Empty;
108 }
109 }
110
112 {
113 get
114 {
116 if (!_isVersionHttp11)
117 {
118 return HttpVersion.Version10;
119 }
120 return HttpVersion.Version11;
121 }
122 }
123
124 public override WebHeaderCollection Headers
125 {
126 get
127 {
129 if (_webHeaderCollection == null)
130 {
133 {
135 }
136 if (_httpResponseMessage.Content != null)
137 {
139 {
141 }
142 }
143 }
145 }
146 }
147
148 public virtual string Method
149 {
150 get
151 {
154 }
155 }
156
157 public override Uri ResponseUri
158 {
159 get
160 {
163 }
164 }
165
167 {
168 get
169 {
172 }
173 }
174
175 public virtual string StatusDescription
176 {
177 get
178 {
180 return _httpResponseMessage.ReasonPhrase ?? string.Empty;
181 }
182 }
183
184 public string? CharacterSet
185 {
186 get
187 {
189 string text = Headers["Content-Type"];
190 if (_characterSet == null && !string.IsNullOrWhiteSpace(text))
191 {
192 _characterSet = string.Empty;
193 string text2 = text.ToLowerInvariant();
194 if (text2.Trim().StartsWith("text/", StringComparison.Ordinal))
195 {
196 _characterSet = "ISO-8859-1";
197 }
198 int i = text2.IndexOf(';');
199 if (i > 0)
200 {
201 while ((i = text2.IndexOf("charset", i, StringComparison.Ordinal)) >= 0)
202 {
203 i += 7;
204 if (text2[i - 8] != ';' && text2[i - 8] != ' ')
205 {
206 continue;
207 }
208 for (; i < text2.Length && text2[i] == ' '; i++)
209 {
210 }
211 if (i < text2.Length - 1 && text2[i] == '=')
212 {
213 i++;
214 int num = text2.IndexOf(';', i);
215 if (num > i)
216 {
217 _characterSet = text.AsSpan(i, num - i).Trim().ToString();
218 }
219 else
220 {
221 _characterSet = text.AsSpan(i).Trim().ToString();
222 }
223 break;
224 }
225 }
226 }
227 }
228 return _characterSet;
229 }
230 }
231
232 public override bool SupportsHeaders => true;
233
234 [Obsolete("This API supports the .NET infrastructure and is not intended to be used directly from your code.", true)]
237 {
238 _requestUri = null;
239 _cookies = null;
240 }
241
242 [Obsolete("Serialization has been deprecated for HttpWebResponse.")]
248
253
258
260 {
261 _httpResponseMessage = _message;
263 if (cookieContainer != null)
264 {
265 _cookies = cookieContainer.GetCookies(requestUri);
266 }
267 else
268 {
270 }
271 }
272
273 public override Stream GetResponseStream()
274 {
276 if (_httpResponseMessage.Content != null)
277 {
279 }
280 return Stream.Null;
281 }
282
283 public string GetResponseHeader(string headerName)
284 {
286 string text = Headers[headerName];
287 if (text != null)
288 {
289 return text;
290 }
291 return string.Empty;
292 }
293
294 public override void Close()
295 {
296 Dispose(disposing: true);
297 }
298
299 protected override void Dispose(bool disposing)
300 {
302 if (httpResponseMessage != null)
303 {
304 httpResponseMessage.Dispose();
306 }
307 }
308
309 private void CheckDisposed()
310 {
311 if (_httpResponseMessage == null)
312 {
313 throw new ObjectDisposedException(GetType().ToString());
314 }
315 }
316
318 {
319 return string.Join(", ", values);
320 }
321}
static readonly Stream Null
Definition Stream.cs:488
static bool TryParse(ReadOnlySpan< char > input, out DateTimeOffset result)
static readonly Version Version10
Definition HttpVersion.cs:7
static readonly Version Version11
Definition HttpVersion.cs:9
override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext)
string GetHeaderValueAsString(IEnumerable< string > values)
HttpWebResponse(SerializationInfo serializationInfo, StreamingContext streamingContext)
override Stream GetResponseStream()
HttpWebResponse(HttpResponseMessage _message, Uri requestUri, CookieContainer cookieContainer)
HttpResponseMessage _httpResponseMessage
override bool IsMutuallyAuthenticated
virtual CookieCollection Cookies
WebHeaderCollection _webHeaderCollection
string GetResponseHeader(string headerName)
virtual HttpStatusCode StatusCode
override void Dispose(bool disposing)
HttpContentHeaders Headers
static string net_baddate
Definition SR.cs:48
Definition SR.cs:7
void GetObjectData(SerializationInfo info, StreamingContext context)
static DateTime Now
Definition DateTime.cs:103