terraria-cpp2il-methodrecon v1.4.4.9
Terraria mobile dump, with reconstructed method body. Dump with CallAnalysis: https://infinitynichto.github.io/terraria-cpp2il
Loading...
Searching...
No Matches
HttpConnection.cs
Go to the documentation of this file.
1using System;
3using System.IO;
8using System.Text;
10
11namespace System.Net
12{
13 // Token: 0x02000246 RID: 582
14 internal sealed class HttpConnection
15 {
16 // Token: 0x06000EAB RID: 3755 RVA: 0x0002EA84 File Offset: 0x0002CC84
17 public HttpConnection(global::System.Net.Sockets.Socket sock, EndPointListener epl, bool secure, X509Certificate cert)
18 {
20 this.epl = epl;
22 HttpListener listener = epl.listener;
23 global::System.Net.Security.SslStream sslStream;
24 this.ssl_stream = sslStream;
25 this.stream = sslStream;
26 }
27
28 // Token: 0x17000307 RID: 775
29 // (get) Token: 0x06000EAC RID: 3756 RVA: 0x0002EAE8 File Offset: 0x0002CCE8
30 internal global::System.Net.Security.SslStream SslStream
31 {
32 get
33 {
34 return this.ssl_stream;
35 }
36 }
37
38 // Token: 0x17000308 RID: 776
39 // (get) Token: 0x06000EAD RID: 3757 RVA: 0x0002EAFC File Offset: 0x0002CCFC
41 {
42 get
43 {
44 return this.client_cert_errors;
45 }
46 }
47
48 // Token: 0x17000309 RID: 777
49 // (get) Token: 0x06000EAE RID: 3758 RVA: 0x0002EB10 File Offset: 0x0002CD10
50 internal global::System.Security.Cryptography.X509Certificates.X509Certificate2 ClientCertificate
51 {
52 get
53 {
54 return this.client_cert;
55 }
56 }
57
58 // Token: 0x06000EAF RID: 3759 RVA: 0x0002EB24 File Offset: 0x0002CD24
59 private void Init()
60 {
61 }
62
63 // Token: 0x1700030A RID: 778
64 // (get) Token: 0x06000EB0 RID: 3760 RVA: 0x0002EB34 File Offset: 0x0002CD34
65 public bool IsClosed
66 {
67 get
68 {
69 /*
70An exception occurred when decompiling this method (06000EB0)
71
72ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Net.HttpConnection::get_IsClosed()
73
74 ---> System.Exception: Basic block has to end with unconditional control flow.
75{
76 Block_0:
77 stloc:Socket(var_0_06, ldfld:Socket(HttpConnection::sock, ldloc:HttpConnection(this)))
78}
79
80 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
81 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
82 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
83 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
84 --- End of inner exception stack trace ---
85 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
86 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
87*/;
88 }
89 }
90
91 // Token: 0x1700030B RID: 779
92 // (get) Token: 0x06000EB1 RID: 3761 RVA: 0x0002EB48 File Offset: 0x0002CD48
93 public int Reuses
94 {
95 get
96 {
97 return this.reuses;
98 }
99 }
100
101 // Token: 0x1700030C RID: 780
102 // (get) Token: 0x06000EB2 RID: 3762 RVA: 0x0002EB5C File Offset: 0x0002CD5C
104 {
105 get
106 {
107 /*
108An exception occurred when decompiling this method (06000EB2)
109
110ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Net.IPEndPoint System.Net.HttpConnection::get_LocalEndPoint()
111
112 ---> System.Exception: Basic block has to end with unconditional control flow.
113{
114 IL_0024:
115 stfld:IPEndPoint(HttpConnection::local_ep, ldloc:HttpConnection(this), ldloc:EndPoint[exp:IPEndPoint](var_0_13))
116}
117
118 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
119 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
120 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
121 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
122 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
124 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
125 --- End of inner exception stack trace ---
126 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
127 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
128*/;
129 }
130 }
131
132 // Token: 0x1700030D RID: 781
133 // (get) Token: 0x06000EB3 RID: 3763 RVA: 0x0002EB94 File Offset: 0x0002CD94
135 {
136 get
137 {
138 if (this.sock.RemoteEndPoint != null)
139 {
140 }
141 throw new InvalidCastException();
142 }
143 }
144
145 // Token: 0x1700030E RID: 782
146 // (get) Token: 0x06000EB4 RID: 3764 RVA: 0x0002EBB4 File Offset: 0x0002CDB4
147 public bool IsSecure
148 {
149 get
150 {
151 return this.secure;
152 }
153 }
154
155 // Token: 0x1700030F RID: 783
156 // (get) Token: 0x06000EB5 RID: 3765 RVA: 0x0002EBC8 File Offset: 0x0002CDC8
157 // (set) Token: 0x06000EB6 RID: 3766 RVA: 0x0002EBDC File Offset: 0x0002CDDC
159 {
160 get
161 {
162 return this.prefix;
163 }
164 set
165 {
167 }
168 }
169
170 // Token: 0x06000EB7 RID: 3767 RVA: 0x0002EBF0 File Offset: 0x0002CDF0
171 private void OnTimeout(object unused)
172 {
173 this.CloseSocket();
174 this.Unbind();
175 }
176
177 // Token: 0x06000EB8 RID: 3768 RVA: 0x0002EC0C File Offset: 0x0002CE0C
178 public void BeginReadRequest()
179 {
180 if (this.buffer == null)
181 {
182 }
183 int num = this.reuses;
184 int num2 = 15000;
186 }
187
188 // Token: 0x06000EB9 RID: 3769 RVA: 0x0002EC78 File Offset: 0x0002CE78
190 {
191 /*
192An exception occurred when decompiling this method (06000EB9)
193
194ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Net.RequestStream System.Net.HttpConnection::GetRequestStream(System.Boolean,System.Int64)
195
196 ---> System.Exception: Basic block has to end with unconditional control flow.
197{
198 Block_0:
199 stloc:MemoryStream(var_0_0E, ldfld:MemoryStream(HttpConnection::ms, ldloc:HttpConnection(this)))
200 stloc:MemoryStream(var_1_15, ldfld:MemoryStream(HttpConnection::ms, ldloc:HttpConnection(this)))
201 stloc:HttpListenerContext(var_2_1C, ldfld:HttpListenerContext(HttpConnection::context, ldloc:HttpConnection(this)))
202 stloc:int32(var_3_1E, ldc.i4:int32(1))
203 stfld:bool(HttpConnection::chunked, ldloc:HttpConnection(this), ldloc:int32[exp:bool](var_3_1E))
204 stloc:HttpListenerResponse(var_4_2C, ldfld:HttpListenerResponse(HttpListenerContext::response, ldloc:HttpListenerContext(var_2_1C)))
205 stloc:int32(var_5_2F, ldc.i4:int32(1))
206 callsetter:bool(HttpListenerResponse::set_SendChunked, ldloc:HttpListenerResponse(var_4_2C), ldloc:int32[exp:bool](var_5_2F))
207 stloc:HttpListenerContext(var_6_40, ldfld:HttpListenerContext(HttpConnection::context, ldloc:HttpConnection(this)))
208 stloc:Stream(var_7_48, ldfld:Stream(HttpConnection::stream, ldloc:HttpConnection(this)))
209 stloc:int32(var_8_50, ldfld:int32(HttpConnection::position, ldloc:HttpConnection(this)))
210 stloc:Stream(var_9_58, ldfld:Stream(HttpConnection::stream, ldloc:HttpConnection(this)))
211 stloc:int32(var_10_60, ldfld:int32(HttpConnection::position, ldloc:HttpConnection(this)))
212}
213
214 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
215 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
216 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
217 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
218 --- End of inner exception stack trace ---
219 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
220 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
221*/;
222 }
223
224 // Token: 0x06000EBA RID: 3770 RVA: 0x0002ECE8 File Offset: 0x0002CEE8
226 {
227 ResponseStream responseStream;
228 HttpListener listener;
229 do
230 {
231 responseStream = this.o_stream;
232 if (responseStream != null)
233 {
234 return responseStream;
235 }
237 Stream stream = this.stream;
238 listener = httpListenerContext.Listener;
239 HttpListenerResponse response = httpListenerContext.response;
240 }
241 while (listener == null);
242 bool ignore_write_exceptions = listener.ignore_write_exceptions;
243 this.o_stream = responseStream;
244 return responseStream;
245 }
246
247 // Token: 0x06000EBB RID: 3771 RVA: 0x0002ED30 File Offset: 0x0002CF30
248 private static void OnRead(IAsyncResult ares)
249 {
250 }
251
252 // Token: 0x06000EBC RID: 3772 RVA: 0x0002ED44 File Offset: 0x0002CF44
254 {
256 string error;
258 for (;;)
259 {
260 Timer timer = this.timer;
261 Stream stream = this.stream;
263 byte[] array = this.buffer;
265 if (stream == null)
266 {
267 goto IL_0154;
268 }
270 bool flag = this.ProcessInput(memoryStream3);
272 error = httpListenerContext.error;
273 if (error != null)
274 {
275 break;
276 }
278 if (httpListenerContext2.error == null)
279 {
280 goto Block_2;
281 }
282 }
283 int err_status = httpListenerContext.err_status;
284 this.SendError(error, err_status);
285 int num = 1;
286 this.Close(num != 0);
287 return;
288 Block_2:
289 bool flag2 = this.epl.BindContext(httpListenerContext2);
292 HttpListener listener = httpListenerContext3.Listener;
293 this.RemoveConnection();
294 Hashtable connections = listener.connections;
296 this.last_listener = listener;
297 int num2 = 1;
300 return;
301 IL_0154:
302 this.CloseSocket();
303 this.Unbind();
304 }
305
306 // Token: 0x06000EBD RID: 3773 RVA: 0x0002EEB4 File Offset: 0x0002D0B4
307 private void RemoveConnection()
308 {
310 if (httpListener != null)
311 {
312 Hashtable connections = httpListener.connections;
313 return;
314 }
315 this.epl.RemoveConnection(this);
316 }
317
318 // Token: 0x06000EBE RID: 3774 RVA: 0x0002EEE0 File Offset: 0x0002D0E0
320 {
321 bool flag;
322 for (;;)
323 {
324 if (this.context.error != null)
325 {
326 }
327 int num = this.position;
328 int num2 = this.position;
330 string text;
331 if (text == null)
332 {
333 goto IL_0087;
334 }
335 flag = text == "";
337 if (inputState != HttpConnection.InputState.RequestLine)
338 {
339 break;
340 }
341 if (this.context.error == null)
342 {
343 goto Block_2;
344 }
345 }
346 return flag;
347 Block_2:
348 int num3 = this.position;
349 IL_0087:
351 this.context.error = "Bad request";
353 int num4 = 400;
355 return "Bad request" != null;
356 }
357
358 // Token: 0x06000EBF RID: 3775 RVA: 0x0002EFB4 File Offset: 0x0002D1B4
359 private string ReadLine(byte[] buffer, int offset, int len, int used)
360 {
361 /*
362An exception occurred when decompiling this method (06000EBF)
363
364ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String System.Net.HttpConnection::ReadLine(System.Byte[],System.Int32,System.Int32,System.Int32)
365
366 ---> System.Exception: Basic block has to end with unconditional control flow.
367{
368 IL_000E:
369 stloc:int32(var_1_0F, ldc.i4:int32(2))
370 stloc:int32(var_2_11, ldc.i4:int32(1))
371 stloc:LineState(var_3_18, ldfld:LineState(HttpConnection::line_state, ldloc:HttpConnection(this)))
372 stfld:LineState(HttpConnection::line_state, ldloc:HttpConnection(this), ldloc:int32[exp:LineState](var_2_11))
373 stfld:LineState(HttpConnection::line_state, ldloc:HttpConnection(this), ldloc:int32[exp:LineState](var_1_0F))
374 stloc:StringBuilder(var_4_2D, ldfld:StringBuilder(HttpConnection::current_line, ldloc:HttpConnection(this)))
375 stloc:LineState(var_6_35, ldfld:LineState(HttpConnection::line_state, ldloc:HttpConnection(this)))
376 stloc:StringBuilder(var_7_3D, ldfld:StringBuilder(HttpConnection::current_line, ldloc:HttpConnection(this)))
377 stloc:StringBuilder(var_8_45, ldfld:StringBuilder(HttpConnection::current_line, ldloc:HttpConnection(this)))
378 stloc:int64(var_9_48, ldc.i4:int64(0))
379 callsetter:int32(StringBuilder::set_Length, ldloc:StringBuilder(var_8_45), ldloc:int64[exp:int32](var_9_48))
380}
381
382 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
383 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
384 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
385 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
386 --- End of inner exception stack trace ---
387 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
388 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
389*/;
390 }
391
392 // Token: 0x06000EC0 RID: 3776 RVA: 0x0002F018 File Offset: 0x0002D218
393 public void SendError(string msg, int status)
394 {
395 HttpListenerResponse response = this.context.response;
396 response.StatusCode = status;
397 response.ContentType = "text/html";
398 string text = HttpStatusDescription.Get(status);
399 if (msg != null)
400 {
401 string text2 = string.Format("<h1>{0} ({1})</h1>", text, msg);
402 return;
403 }
404 string text3 = string.Format("<h1>{0}</h1>", text);
406 if (response2.content_encoding == null)
407 {
408 Encoding @default = Encoding.Default;
410 }
411 }
412
413 // Token: 0x06000EC1 RID: 3777 RVA: 0x0002F098 File Offset: 0x0002D298
414 public void SendError()
415 {
417 string error = httpListenerContext.error;
418 int err_status = httpListenerContext.err_status;
419 this.SendError(error, err_status);
420 }
421
422 // Token: 0x06000EC2 RID: 3778 RVA: 0x0002F0C4 File Offset: 0x0002D2C4
423 private void Unbind()
424 {
425 if (this.context_bound)
426 {
428 if (httpListenerContext != null && httpListenerContext.request != null)
429 {
431 }
432 }
433 }
434
435 // Token: 0x06000EC3 RID: 3779 RVA: 0x0002F0F8 File Offset: 0x0002D2F8
436 public void Close()
437 {
438 long num = 0L;
439 this.Close(num != 0L);
440 }
441
442 // Token: 0x06000EC4 RID: 3780 RVA: 0x0002F110 File Offset: 0x0002D310
443 private void CloseSocket()
444 {
445 global::System.Net.Sockets.Socket socket = this.sock;
446 if (socket != null)
447 {
448 socket.Close();
449 this.RemoveConnection();
450 return;
451 }
452 }
453
454 // Token: 0x06000EC5 RID: 3781 RVA: 0x0002F148 File Offset: 0x0002D348
455 internal void Close(bool force_close)
456 {
457 if (this.sock != null)
458 {
459 if (this.GetResponseStream() != null)
460 {
461 }
462 if (this.sock != null)
463 {
464 bool keepAlive = this.context.request.KeepAlive;
465 bool flag = this.context.response.headers["connection"] == "close";
466 bool flag2 = this.context.request.FlushInput();
467 if (this.chunked)
468 {
469 bool force_close_chunked = this.context.response.force_close_chunked;
470 }
471 int num = this.reuses;
472 this.reuses = num;
473 this.Unbind();
474 this.Init();
475 this.BeginReadRequest();
476 return;
477 }
478 }
479 }
480
481 // Token: 0x06000EC6 RID: 3782 RVA: 0x0002F244 File Offset: 0x0002D444
482 // Note: this type is marked as 'beforefieldinit'.
484 {
485 }
486
487 // Token: 0x06000EC7 RID: 3783 RVA: 0x0002F254 File Offset: 0x0002D454
489 private bool <.ctor>b__24_0(object t, X509Certificate c, global::System.Security.Cryptography.X509Certificates.X509Chain ch, global::System.Net.Security.SslPolicyErrors e)
490 {
491 if (c != null)
492 {
493 return;
494 }
495 }
496
497 // Token: 0x04000BF3 RID: 3059
498 private static AsyncCallback onread_cb;
499
500 // Token: 0x04000BF4 RID: 3060
501 private const int BufferSize = 8192;
502
503 // Token: 0x04000BF5 RID: 3061
504 private global::System.Net.Sockets.Socket sock;
505
506 // Token: 0x04000BF6 RID: 3062
507 private Stream stream;
508
509 // Token: 0x04000BF7 RID: 3063
511
512 // Token: 0x04000BF8 RID: 3064
514
515 // Token: 0x04000BF9 RID: 3065
516 private byte[] buffer;
517
518 // Token: 0x04000BFA RID: 3066
520
521 // Token: 0x04000BFB RID: 3067
523
524 // Token: 0x04000BFC RID: 3068
526
527 // Token: 0x04000BFD RID: 3069
529
530 // Token: 0x04000BFE RID: 3070
532
533 // Token: 0x04000BFF RID: 3071
534 private bool chunked;
535
536 // Token: 0x04000C00 RID: 3072
537 private int reuses;
538
539 // Token: 0x04000C01 RID: 3073
540 private bool context_bound;
541
542 // Token: 0x04000C02 RID: 3074
543 private bool secure;
544
545 // Token: 0x04000C03 RID: 3075
547
548 // Token: 0x04000C04 RID: 3076
549 private int s_timeout = 24464;
550
551 // Token: 0x04000C05 RID: 3077
552 private Timer timer;
553
554 // Token: 0x04000C06 RID: 3078
556
557 // Token: 0x04000C07 RID: 3079
559
560 // Token: 0x04000C08 RID: 3080
561 private int[] client_cert_errors;
562
563 // Token: 0x04000C09 RID: 3081
564 private global::System.Security.Cryptography.X509Certificates.X509Certificate2 client_cert;
565
566 // Token: 0x04000C0A RID: 3082
567 private global::System.Net.Security.SslStream ssl_stream;
568
569 // Token: 0x04000C0B RID: 3083
571
572 // Token: 0x04000C0C RID: 3084
574
575 // Token: 0x04000C0D RID: 3085
576 private int position;
577
578 // Token: 0x02000247 RID: 583
579 private enum InputState
580 {
581 // Token: 0x04000C0F RID: 3087
583 // Token: 0x04000C10 RID: 3088
584 Headers
585 }
586
587 // Token: 0x02000248 RID: 584
588 private enum LineState
589 {
590 // Token: 0x04000C12 RID: 3090
591 None,
592 // Token: 0x04000C13 RID: 3091
593 CR,
594 // Token: 0x04000C14 RID: 3092
595 LF
596 }
597 }
598}
class f__AnonymousType0<< Count > j__TPar
void RemoveConnection(HttpConnection conn)
bool BindContext(HttpListenerContext context)
RequestStream GetRequestStream(bool chunked, long contentlength)
void Close(bool force_close)
global::System.Security.Cryptography.X509Certificates.X509Certificate2 ClientCertificate
global::System.Net.Security.SslStream ssl_stream
HttpConnection.InputState input_state
void SendError(string msg, int status)
string ReadLine(byte[] buffer, int offset, int len, int used)
static void OnRead(IAsyncResult ares)
global::System.Security.Cryptography.X509Certificates.X509Certificate2 client_cert
bool<.ctor > b__24_0(object t, X509Certificate c, global::System.Security.Cryptography.X509Certificates.X509Chain ch, global::System.Net.Security.SslPolicyErrors e)
HttpListenerContext context
void OnTimeout(object unused)
global::System.Net.Sockets.Socket sock
HttpConnection.LineState line_state
static AsyncCallback onread_cb
ResponseStream GetResponseStream()
HttpConnection(global::System.Net.Sockets.Socket sock, EndPointListener epl, bool secure, X509Certificate cert)
void OnReadInternal(IAsyncResult ares)
bool ProcessInput(MemoryStream ms)
void RegisterContext(HttpListenerContext context)
void UnregisterContext(HttpListenerContext context)
static string Get(HttpStatusCode code)
static Encoding Default
Definition Encoding.cs:728