From f38d98f966669e19fcf6ba3db04754aa1e4e8ed0 Mon Sep 17 00:00:00 2001 From: sta Date: Fri, 3 May 2013 13:10:59 +0900 Subject: [PATCH] Modified HttpListener.cs --- websocket-sharp/Net/HttpListener.cs | 130 +++++++++--- .../bin/Release_Ubuntu/websocket-sharp.dll | Bin 175616 -> 176128 bytes .../bin/Release_Ubuntu/websocket-sharp.xml | 62 ++++++ .../html/WebSocketSharp.Net/HttpListener.html | 198 +++++++++++++++++- .../mdoc/WebSocketSharp.Net/HttpListener.xml | 62 +++++- websocket-sharp/doc/mdoc/index.xml | 2 +- 6 files changed, 412 insertions(+), 42 deletions(-) diff --git a/websocket-sharp/Net/HttpListener.cs b/websocket-sharp/Net/HttpListener.cs index aafa11dd..8ed306cd 100644 --- a/websocket-sharp/Net/HttpListener.cs +++ b/websocket-sharp/Net/HttpListener.cs @@ -4,9 +4,10 @@ // // Author: // Gonzalo Paniagua Javier (gonzalo@novell.com) +// sta (sta.blockhead@gmail.com) // // Copyright (c) 2005 Novell, Inc. (http://www.novell.com) -// Copyright (c) 2012-2013 sta.blockhead (sta.blockhead@gmail.com) +// Copyright (c) 2012-2013 sta.blockhead // // Permission is hereby granted, free of charge, to any person obtaining // a copy of this software and associated documentation files (the @@ -41,7 +42,7 @@ namespace WebSocketSharp.Net { /// public sealed class HttpListener : IDisposable { - #region Fields + #region Private Fields AuthenticationSchemes auth_schemes; AuthenticationSchemeSelector auth_selector; @@ -58,7 +59,7 @@ namespace WebSocketSharp.Net { #endregion - #region Constructor + #region Public Constructors /// /// Initializes a new instance of the class. @@ -75,7 +76,7 @@ namespace WebSocketSharp.Net { #endregion - #region Properties + #region Public Properties /// /// Gets or sets the scheme used to authenticate the clients. @@ -84,9 +85,15 @@ namespace WebSocketSharp.Net { /// One of the values that indicates the scheme used to /// authenticate the clients. The default value is . /// + /// + /// This object has been closed. + /// public AuthenticationSchemes AuthenticationSchemes { - // TODO: Digest, NTLM and Negotiate require ControlPrincipal - get { return auth_schemes; } + // TODO: Digest, NTLM and Negotiate require ControlPrincipal + get { + CheckDisposed (); + return auth_schemes; + } set { CheckDisposed (); auth_schemes = value; @@ -100,16 +107,36 @@ namespace WebSocketSharp.Net { /// A delegate that invokes the method(s) used to select /// an authentication scheme. The default value is . /// + /// + /// This object has been closed. + /// public AuthenticationSchemeSelector AuthenticationSchemeSelectorDelegate { - get { return auth_selector; } + get { + CheckDisposed (); + return auth_selector; + } set { CheckDisposed (); auth_selector = value; } } + /// + /// Gets or sets a value indicating whether the returns exceptions + /// that occur when sending the response to the client. + /// + /// + /// true if does not return exceptions that occur when sending the response to the client; + /// otherwise, false. The default value is false. + /// + /// + /// This object has been closed. + /// public bool IgnoreWriteExceptions { - get { return ignore_write_exceptions; } + get { + CheckDisposed (); + return ignore_write_exceptions; + } set { CheckDisposed (); ignore_write_exceptions = value; @@ -142,6 +169,9 @@ namespace WebSocketSharp.Net { /// /// A that contains the URI prefixes. /// + /// + /// This object has been closed. + /// public HttpListenerPrefixCollection Prefixes { get { CheckDisposed (); @@ -155,18 +185,39 @@ namespace WebSocketSharp.Net { /// /// A that contains the name of the realm. /// + /// + /// This object has been closed. + /// public string Realm { - // TODO: Use this - get { return realm; } + // TODO: Use this + get { + CheckDisposed (); + return realm; + } set { CheckDisposed (); realm = value; } } + /// + /// Gets or sets a value indicating whether, when NTLM authentication is used, + /// the authentication information of first request is used to authenticate + /// additional requests on the same connection. + /// + /// + /// true if the authentication information of first request is used; + /// otherwise, false. The default value is false. + /// + /// + /// This object has been closed. + /// public bool UnsafeConnectionNtlmAuthentication { - // TODO: Support for NTLM needs some loving. - get { return unsafe_ntlm_auth; } + // TODO: Support for NTLM needs some loving. + get { + CheckDisposed (); + return unsafe_ntlm_auth; + } set { CheckDisposed (); unsafe_ntlm_auth = value; @@ -331,22 +382,6 @@ namespace WebSocketSharp.Net { #endregion - #region Explicit Interface Implementation - - /// - /// Releases all resource used by the . - /// - void IDisposable.Dispose () - { - if (disposed) - return; - - Close (true); // TODO: Should we force here or not? - disposed = true; - } - - #endregion - #region Public Methods /// @@ -378,6 +413,9 @@ namespace WebSocketSharp.Net { /// /// An that contains a user defined object to pass to the delegate. /// + /// + /// This object has been closed. + /// /// /// The has not been started or is stopped currently. /// @@ -429,6 +467,9 @@ namespace WebSocketSharp.Net { /// /// An obtained by calling the method. /// + /// + /// This object has been closed. + /// /// /// is . /// @@ -477,7 +518,18 @@ namespace WebSocketSharp.Net { /// A that contains a client's request information. /// /// + /// /// The does not have any URI prefixes to listen on. + /// + /// + /// -or- + /// + /// + /// The has not been started or is stopped currently. + /// + /// + /// + /// This object has been closed. /// public HttpListenerContext GetContext () { @@ -493,6 +545,9 @@ namespace WebSocketSharp.Net { /// /// Starts to receive incoming requests. /// + /// + /// This object has been closed. + /// public void Start () { CheckDisposed (); @@ -506,6 +561,9 @@ namespace WebSocketSharp.Net { /// /// Stops receiving incoming requests. /// + /// + /// This object has been closed. + /// public void Stop () { CheckDisposed (); @@ -518,5 +576,21 @@ namespace WebSocketSharp.Net { } #endregion + + #region Explicit Interface Implementation + + /// + /// Releases all resource used by the . + /// + void IDisposable.Dispose () + { + if (disposed) + return; + + Close (true); // TODO: Should we force here or not? + disposed = true; + } + + #endregion } } diff --git a/websocket-sharp/bin/Release_Ubuntu/websocket-sharp.dll b/websocket-sharp/bin/Release_Ubuntu/websocket-sharp.dll index 5a3f968672ed389dffde4de487561454ffb50862..c112d413a20f6711f01ad6a5fa5b23a480bb1bd9 100755 GIT binary patch delta 73808 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 z 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%0DfNMen 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 values that indicates the scheme used to authenticate the clients. The default value is . + + This object has been closed. + @@ -2150,6 +2153,22 @@ A delegate that invokes the method(s) used to select an authentication scheme. The default value is . + + This object has been closed. + + + + + Gets or sets a value indicating whether the returns exceptions + that occur when sending the response to the client. + + + true if does not return exceptions that occur when sending the response to the client; + otherwise, false. The default value is false. + + + This object has been closed. + @@ -2174,6 +2193,9 @@ A that contains the URI prefixes. + + This object has been closed. + @@ -2182,6 +2204,23 @@ A that contains the name of the realm. + + This object has been closed. + + + + + Gets or sets a value indicating whether, when NTLM authentication is used, + the authentication information of first request is used to authenticate + additional requests on the same connection. + + + true if the authentication information of first request is used; + otherwise, false. The default value is false. + + + This object has been closed. + @@ -2211,6 +2250,9 @@ An that contains a user defined object to pass to the delegate. + + This object has been closed. + The has not been started or is stopped currently. @@ -2233,6 +2275,9 @@ An obtained by calling the method. + + This object has been closed. + is . @@ -2255,18 +2300,35 @@ A that contains a client's request information. + The does not have any URI prefixes to listen on. + + + -or- + + + The has not been started or is stopped currently. + + + + This object has been closed. Starts to receive incoming requests. + + This object has been closed. + Stops receiving incoming requests. + + This object has been closed. + diff --git a/websocket-sharp/doc/html/WebSocketSharp.Net/HttpListener.html b/websocket-sharp/doc/html/WebSocketSharp.Net/HttpListener.html index 277e81d6..db196525 100644 --- a/websocket-sharp/doc/html/WebSocketSharp.Net/HttpListener.html +++ b/websocket-sharp/doc/html/WebSocketSharp.Net/HttpListener.html @@ -300,7 +300,10 @@ bool - . Documentation for this section has not yet been entered. + . + Gets or sets a value indicating whether the WebSocketSharp.Net.HttpListener returns exceptions + that occur when sending the response to the client. + [read-only]
@@ -374,7 +377,11 @@ bool - . Documentation for this section has not yet been entered. +
. + Gets or sets a value indicating whether, when NTLM authentication is used, + the authentication information of first request is used to authenticate + additional requests on the same connection. + @@ -502,7 +509,7 @@ IsNull<T> - (this T) : bool
+ (this T) : bool
Determines whether the specified object is null.
@@ -570,6 +577,23 @@ One of the WebSocketSharp.Net.AuthenticationSchemes values that indicates the scheme used to authenticate the clients. The default value is AuthenticationSchemes.Anonymous.
+

Exceptions

+
+ + + + + + + + + +
TypeReason
+ ObjectDisposedException + + This object has been closed. +
+

Remarks

Documentation for this section has not yet been entered. @@ -591,6 +615,23 @@ A WebSocketSharp.Net.AuthenticationSchemeSelector delegate that invokes the method(s) used to select an authentication scheme. The default value is null. +

Exceptions

+
+ + + + + + + + + +
TypeReason
+ ObjectDisposedException + + This object has been closed. +
+

Remarks

Documentation for this section has not yet been entered. @@ -642,6 +683,14 @@ The WebSocketSharp.Net.HttpListener has not been started or is stopped currently. + + + + + ObjectDisposedException + + + This object has been closed. @@ -723,6 +772,14 @@ The EndGetContext method was already called for the specified asyncResult. + + + + + ObjectDisposedException + + + This object has been closed. @@ -759,7 +816,23 @@ InvalidOperationException +

The WebSocketSharp.Net.HttpListener does not have any URI prefixes to listen on. +

+

+ -or- +

+

+ The WebSocketSharp.Net.HttpListener has not been started or is stopped currently. +

+ + + + + ObjectDisposedException + + + This object has been closed. @@ -777,13 +850,32 @@

IgnoreWriteExceptions Property

- Documentation for this section has not yet been entered. -

+ Gets or sets a value indicating whether the WebSocketSharp.Net.HttpListener returns exceptions + that occur when sending the response to the client. +

Syntax

public bool IgnoreWriteExceptions { get; set; }

Value

- Documentation for this section has not yet been entered. + true if does not return exceptions that occur when sending the response to the client; + otherwise, false. The default value is false. +
+

Exceptions

+
+ + + + + + + + + +
TypeReason
+ ObjectDisposedException + + This object has been closed. +

Remarks

@@ -845,6 +937,23 @@
A WebSocketSharp.Net.HttpListenerPrefixCollection that contains the URI prefixes.
+

Exceptions

+
+ + + + + + + + + +
TypeReason
+ ObjectDisposedException + + This object has been closed. +
+

Remarks

Documentation for this section has not yet been entered. @@ -865,6 +974,23 @@
A string that contains the name of the realm.
+

Exceptions

+
+ + + + + + + + + +
TypeReason
+ ObjectDisposedException + + This object has been closed. +
+

Remarks

Documentation for this section has not yet been entered. @@ -881,6 +1007,23 @@

Syntax

public void Start ()
+

Exceptions

+
+ + + + + + + + + +
TypeReason
+ ObjectDisposedException + + This object has been closed. +
+

Remarks

Documentation for this section has not yet been entered. @@ -897,6 +1040,23 @@

Syntax

public void Stop ()
+

Exceptions

+
+ + + + + + + + + +
TypeReason
+ ObjectDisposedException + + This object has been closed. +
+

Remarks

Documentation for this section has not yet been entered. @@ -926,13 +1086,33 @@

UnsafeConnectionNtlmAuthentication Property

- Documentation for this section has not yet been entered. -

+ Gets or sets a value indicating whether, when NTLM authentication is used, + the authentication information of first request is used to authenticate + additional requests on the same connection. +

Syntax

public bool UnsafeConnectionNtlmAuthentication { get; set; }

Value

- Documentation for this section has not yet been entered. + true if the authentication information of first request is used; + otherwise, false. The default value is false. +
+

Exceptions

+
+ + + + + + + + + +
TypeReason
+ ObjectDisposedException + + This object has been closed. +

Remarks

diff --git a/websocket-sharp/doc/mdoc/WebSocketSharp.Net/HttpListener.xml b/websocket-sharp/doc/mdoc/WebSocketSharp.Net/HttpListener.xml index 244acf07..7b150a77 100644 --- a/websocket-sharp/doc/mdoc/WebSocketSharp.Net/HttpListener.xml +++ b/websocket-sharp/doc/mdoc/WebSocketSharp.Net/HttpListener.xml @@ -62,6 +62,9 @@ authenticate the clients. The default value is . To be added. + + This object has been closed. + @@ -80,6 +83,9 @@ an authentication scheme. The default value is . To be added. + + This object has been closed. + @@ -114,6 +120,9 @@ The has not been started or is stopped currently. + + This object has been closed. + @@ -163,6 +172,9 @@ The EndGetContext method was already called for the specified . + + This object has been closed. + @@ -185,7 +197,18 @@ when received the request. + The does not have any URI prefixes to listen on. + + + -or- + + + The has not been started or is stopped currently. + + + + This object has been closed. @@ -197,9 +220,18 @@ System.Boolean - To be added. - To be added. + + Gets or sets a value indicating whether the returns exceptions + that occur when sending the response to the client. + + + true if does not return exceptions that occur when sending the response to the client; + otherwise, false. The default value is false. + To be added. + + This object has been closed. + @@ -251,6 +283,9 @@ A that contains the URI prefixes. To be added. + + This object has been closed. + @@ -268,6 +303,9 @@ A that contains the name of the realm. To be added. + + This object has been closed. + @@ -283,6 +321,9 @@ Starts to receive incoming requests.
To be added. + + This object has been closed. + @@ -298,6 +339,9 @@ Stops receiving incoming requests.
To be added. + + This object has been closed. + @@ -323,9 +367,19 @@ System.Boolean - To be added. - To be added. + + Gets or sets a value indicating whether, when NTLM authentication is used, + the authentication information of first request is used to authenticate + additional requests on the same connection. + + + true if the authentication information of first request is used; + otherwise, false. The default value is false. + To be added. + + This object has been closed. + diff --git a/websocket-sharp/doc/mdoc/index.xml b/websocket-sharp/doc/mdoc/index.xml index 6bff0398..1b30a8c8 100644 --- a/websocket-sharp/doc/mdoc/index.xml +++ b/websocket-sharp/doc/mdoc/index.xml @@ -1,6 +1,6 @@ - + [00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 11 00 00 00 29 17 fb 89 fe c3 91 f7 2b cb 8b e2 61 d2 3f 05 93 6d 65 a8 9e 63 72 a6 f5 d5 2c f2 9d 20 fa 0b c0 70 6a f6 88 7e 8b 90 3f 39 f5 76 c8 48 e0 bb 7b b2 7b ed d3 10 a7 1a 0f 70 98 0f 7f f4 4b 53 09 d2 a5 ef 36 c3 56 b4 aa f0 91 72 63 25 07 89 e0 93 3e 3f 2e f2 b9 73 0e 12 15 5d 43 56 c3 f4 70 a5 89 fe f7 f6 ac 3e 77 c2 d8 d0 84 91 f4 0c d1 f3 8e dc c3 c3 b8 38 3d 0c bf 17 de 20 78 c1 ]