diff --git a/docs/annotated.html b/docs/annotated.html index d709740..05b9eb4 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
@@ -112,7 +112,9 @@ $(document).ready(function(){initNavTree('annotated.html','');});  CHelloWorldModule  CHttp404ModuleSimple module that returns status code 404  CIHttpModuleInterface for Http modules used by the server http handler - CHttpMessage + CPostModule + CCookieClass for HTTP cookies + CHttpMessage  NWebSockets  NClientModules  CChatModule diff --git a/docs/bc_s.png b/docs/bc_s.png index fc69559..2282393 100644 Binary files a/docs/bc_s.png and b/docs/bc_s.png differ diff --git a/docs/bdwn.png b/docs/bdwn.png index 6d87132..4f419ae 100644 Binary files a/docs/bdwn.png and b/docs/bdwn.png differ diff --git a/docs/classes.html b/docs/classes.html index d68290c..5d8eb46 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
@@ -92,37 +92,39 @@ $(document).ready(function(){initNavTree('classes.html','');});
Class Index
-
b | c | d | e | f | h | i | m | n | s | w
+
b | c | d | e | f | h | i | m | n | p | s | w
- - - + + - + - + + - - + + + + + - + - +
  b  
  e  
-
Http404Module (MTSC.Common.Http.ServerModules)   InvalidHeaderException (MTSC.Exceptions)   
  s  
+
HttpHandler (MTSC.Client.Handlers)   InvalidPostFormException (MTSC.Exceptions)   
  s  
HttpHandler (MTSC.Client.Handlers)   InvalidHttpVersionException (MTSC.Exceptions)   
BroadcastHandler (MTSC.Client.Handlers)   EchoModule (MTSC.Common.WebSockets.ServerModules)   HttpHandler (MTSC.Server.Handlers)   InvalidPostFormException (MTSC.Exceptions)   Server (MTSC.Server)   
BroadcastHandler (MTSC.Server.Handlers)   EncryptionHandler (MTSC.Server.Handlers)   HttpMessage (MTSC.Common.Http)   InvalidRequestURIException (MTSC.Exceptions)   
  w  
+
HttpHandler (MTSC.Server.Handlers)   InvalidRequestURIException (MTSC.Exceptions)   
BroadcastHandler (MTSC.Client.Handlers)   EchoModule (MTSC.Common.WebSockets.ServerModules)   HttpMessage (MTSC.Common.Http)   InvalidStatusCodeException (MTSC.Exceptions)   Server (MTSC.Server)   
BroadcastHandler (MTSC.Server.Handlers)   EncryptionHandler (MTSC.Server.Handlers)   
  i  
+
InvalidWebsocketFormatException (MTSC.Exceptions)   
  w  
BroadcastModule (MTSC.Common.WebSockets.ServerModules)   EncryptionHandler (MTSC.Client.Handlers)   
  i  
-
InvalidStatusCodeException (MTSC.Exceptions)   
BroadcastModule (MTSC.Common.WebSockets.ServerModules)   EncryptionHandler (MTSC.Client.Handlers)   IWebsocketModule (MTSC.Common.WebSockets.ClientModules)   
  c  
-
ExceptionConsoleLogger (MTSC.Exceptions)   InvalidWebsocketFormatException (MTSC.Exceptions)   WebsocketHandler (MTSC.Client.Handlers)   
ExceptionThrower (MTSC.Exceptions)   IExceptionHandler (MTSC.Exceptions)   IWebsocketModule (MTSC.Common.WebSockets.ClientModules)   WebsocketHandler (MTSC.Server.Handlers)   
ExceptionConsoleLogger (MTSC.Exceptions)   IExceptionHandler (MTSC.Exceptions)   IWebsocketModule (MTSC.Common.WebSockets.ServerModules)   WebsocketHandler (MTSC.Client.Handlers)   
ExceptionThrower (MTSC.Exceptions)   IHandler (MTSC.Client.Handlers)   
  m  
+
WebsocketHandler (MTSC.Server.Handlers)   
ChatModule (MTSC.Common.WebSockets.ClientModules)   
  f  
-
IHandler (MTSC.Client.Handlers)   IWebsocketModule (MTSC.Common.WebSockets.ServerModules)   WebsocketMessage (MTSC.Common.WebSockets)   
Client (MTSC.Client)   IHandler (MTSC.Server.Handlers)   
  m  
-
ClientData (MTSC.Server)   FileServerModule (MTSC.Common.Http.ServerModules)   IHttpModule (MTSC.Common.Http.ServerModules)   
IHandler (MTSC.Server.Handlers)   WebsocketMessage (MTSC.Common.WebSockets)   
Client (MTSC.Client)   IHttpModule (MTSC.Common.Http.ServerModules)   Message (MTSC)   
ClientData (MTSC.Server)   FileServerModule (MTSC.Common.Http.ServerModules)   IHttpModule (MTSC.Common.Http.ClientModules)   MethodInvalidException (MTSC.Exceptions)   
ConsoleLogger (MTSC.Logging)   
  h  
-
IHttpModule (MTSC.Common.Http.ClientModules)   Message (MTSC)   
ILogger (MTSC.Logging)   
  n  
+
Cookie (MTSC.Common.Http)   InvalidFirstByteException (MTSC.Exceptions)   
  d  
-
ILogger (MTSC.Logging)   MethodInvalidException (MTSC.Exceptions)   
HelloWorldModule (MTSC.Common.Http.ServerModules)   InvalidFirstByteException (MTSC.Exceptions)   
  n  
+
HelloWorldModule (MTSC.Common.Http.ServerModules)   InvalidHeaderException (MTSC.Exceptions)   NoDataException (MTSC.Exceptions)   
Http404Module (MTSC.Common.Http.ServerModules)   InvalidHttpVersionException (MTSC.Exceptions)   
  p  
DebugConsoleLogger (MTSC.Logging)   
NoDataException (MTSC.Exceptions)   
PostModule (MTSC.Common.Http.ServerModules)   
-
b | c | d | e | f | h | i | m | n | s | w
+
b | c | d | e | f | h | i | m | n | p | s | w
diff --git a/docs/closed.png b/docs/closed.png index ed775a9..0bdc9a1 100644 Binary files a/docs/closed.png and b/docs/closed.png differ diff --git a/docs/d0/d0e/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception.html b/docs/d0/d0e/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception.html index 40f9223..8147c97 100644 --- a/docs/d0/d0e/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception.html +++ b/docs/d0/d0e/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d0/d0e/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception.png b/docs/d0/d0e/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception.png index 0cd3b83..4486365 100644 Binary files a/docs/d0/d0e/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception.png and b/docs/d0/d0e/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception.png differ diff --git a/docs/d0/d25/class_m_t_s_c_1_1_server_1_1_client_data-members.html b/docs/d0/d25/class_m_t_s_c_1_1_server_1_1_client_data-members.html index b231328..a682832 100644 --- a/docs/d0/d25/class_m_t_s_c_1_1_server_1_1_client_data-members.html +++ b/docs/d0/d25/class_m_t_s_c_1_1_server_1_1_client_data-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d0/d61/interface_m_t_s_c_1_1_common_1_1_http_1_1_client_modules_1_1_i_http_module-members.html b/docs/d0/d61/interface_m_t_s_c_1_1_common_1_1_http_1_1_client_modules_1_1_i_http_module-members.html index 784da90..72e124c 100644 --- a/docs/d0/d61/interface_m_t_s_c_1_1_common_1_1_http_1_1_client_modules_1_1_i_http_module-members.html +++ b/docs/d0/d61/interface_m_t_s_c_1_1_common_1_1_http_1_1_client_modules_1_1_i_http_module-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.html b/docs/d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.html new file mode 100644 index 0000000..b345140 --- /dev/null +++ b/docs/d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.html @@ -0,0 +1,135 @@ + + + + + + + +MTSC: MTSC.Common.Http.ServerModules.PostModule Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
MTSC +  1.0.5 +
+
Build TCP servers out of modules with handlers for communication, exception and logging.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
MTSC.Common.Http.ServerModules.PostModule Class Reference
+
+
+
+Inheritance diagram for MTSC.Common.Http.ServerModules.PostModule:
+
+
+ + +MTSC.Common.Http.ServerModules.IHttpModule + +
+ + + + +

+Events

+EventHandler< Dictionary< string, string > > FormReceived
 
+ +

+Additional Inherited Members

+

Detailed Description

+
+

Definition at line 10 of file PostModule.cs.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/docs/d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.js b/docs/d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.js new file mode 100644 index 0000000..10d274e --- /dev/null +++ b/docs/d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.js @@ -0,0 +1,4 @@ +var class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module = +[ + [ "FormReceived", "d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.html#a76c97385f0ef849dc0fbdff91566ba20", null ] +]; \ No newline at end of file diff --git a/docs/d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.png b/docs/d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.png new file mode 100644 index 0000000..9383259 Binary files /dev/null and b/docs/d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.png differ diff --git a/docs/d0/d6e/class_m_t_s_c_1_1_logging_1_1_debug_console_logger-members.html b/docs/d0/d6e/class_m_t_s_c_1_1_logging_1_1_debug_console_logger-members.html index da946c3..21a3231 100644 --- a/docs/d0/d6e/class_m_t_s_c_1_1_logging_1_1_debug_console_logger-members.html +++ b/docs/d0/d6e/class_m_t_s_c_1_1_logging_1_1_debug_console_logger-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d0/d86/_cookie_8cs_source.html b/docs/d0/d86/_cookie_8cs_source.html new file mode 100644 index 0000000..9141fdf --- /dev/null +++ b/docs/d0/d86/_cookie_8cs_source.html @@ -0,0 +1,116 @@ + + + + + + + +MTSC: D:/Projects/MTSC/MTSC/Common/Http/Cookie.cs Source File + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
MTSC +  1.0.5 +
+
Build TCP servers out of modules with handlers for communication, exception and logging.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Cookie.cs
+
+
+
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 
5 namespace MTSC.Common.Http
6 {
10  public class Cookie
11  {
15  public string Key { get; private set; }
19  public string Value { get; private set; }
23  public Dictionary<string, string> Attributes { get; private set; }
29  public Cookie(string key, string value)
30  {
31  Attributes = new Dictionary<string, string>();
32  this.Key = key;
33  this.Value = value;
34  }
39  public Cookie(string cookieString)
40  {
41  Attributes = new Dictionary<string, string>();
42  string[] cookieTokens = cookieString.Split(';');
43  Key = cookieTokens[0].Split('=')[0].Trim();
44  Value = cookieTokens[1].Split('=')[1].Trim();
45  for(int i = 1; i < cookieTokens.Length; i++)
46  {
47  string[] attributeTokens = cookieTokens[i].Split('=');
48  Attributes[attributeTokens[0].Trim()] = attributeTokens.Length > 1 ? attributeTokens[1].Trim() : string.Empty;
49  }
50  }
55  public string BuildCookieString()
56  {
57  StringBuilder sb = new StringBuilder();
58  sb.Append(Key).Append('=').Append(Value);
59  if(Attributes.Count > 0)
60  {
61  foreach(KeyValuePair<string, string> attribute in Attributes)
62  {
63  sb.Append(';').Append(attribute.Key);
64  if (!string.IsNullOrWhiteSpace(attribute.Value))
65  {
66  sb.Append('=').Append(attribute.Value);
67  }
68  }
69  }
70  return sb.ToString();
71  }
76  public byte[] BuildCookieBytes()
77  {
78  return ASCIIEncoding.ASCII.GetBytes(BuildCookieString());
79  }
80  }
81 }
+ + + + + + + + +
+
+ + + + diff --git a/docs/d0/da0/_websocket_message_8cs_source.html b/docs/d0/da0/_websocket_message_8cs_source.html index 647ff85..4d1738b 100644 --- a/docs/d0/da0/_websocket_message_8cs_source.html +++ b/docs/d0/da0/_websocket_message_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html b/docs/d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html new file mode 100644 index 0000000..de45325 --- /dev/null +++ b/docs/d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html @@ -0,0 +1,341 @@ + + + + + + + +MTSC: MTSC.Common.Http.Cookie Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
MTSC +  1.0.5 +
+
Build TCP servers out of modules with handlers for communication, exception and logging.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
MTSC.Common.Http.Cookie Class Reference
+
+
+ +

Class for HTTP cookies. + More...

+ + + + + + + + + + + + + + +

+Public Member Functions

 Cookie (string key, string value)
 Creates a new instance of cookie class. More...
 
 Cookie (string cookieString)
 Creates a new instance of cookie class. More...
 
string BuildCookieString ()
 Build the string containing the cookie definition. More...
 
byte [] BuildCookieBytes ()
 Build the byte array containing the cookie definition. More...
 
+ + + + + + + + + + +

+Properties

string Key [get]
 Key of cookie. More...
 
string Value [get]
 Value of cookie. More...
 
Dictionary< string, string > Attributes [get]
 Dictionary containing cookie attributes. More...
 
+

Detailed Description

+

Class for HTTP cookies.

+ +

Definition at line 10 of file Cookie.cs.

+

Constructor & Destructor Documentation

+ +

◆ Cookie() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
MTSC.Common.Http.Cookie.Cookie (string key,
string value 
)
+
+ +

Creates a new instance of cookie class.

+
Parameters
+ + + +
keyKey of cookie.
valueValue of cookie.
+
+
+ +

Definition at line 29 of file Cookie.cs.

+ +
+
+ +

◆ Cookie() [2/2]

+ +
+
+ + + + + + + + +
MTSC.Common.Http.Cookie.Cookie (string cookieString)
+
+ +

Creates a new instance of cookie class.

+
Parameters
+ + +
cookieStringString containing the definition of a cookie
+
+
+ +

Definition at line 39 of file Cookie.cs.

+ +
+
+

Member Function Documentation

+ +

◆ BuildCookieBytes()

+ +
+
+ + + + + + + +
byte [] MTSC.Common.Http.Cookie.BuildCookieBytes ()
+
+ +

Build the byte array containing the cookie definition.

+
Returns
Byte array containin the cookie definition.
+ +

Definition at line 76 of file Cookie.cs.

+ +
+
+ +

◆ BuildCookieString()

+ +
+
+ + + + + + + +
string MTSC.Common.Http.Cookie.BuildCookieString ()
+
+ +

Build the string containing the cookie definition.

+
Returns
String containing the cookie definition.
+ +

Definition at line 55 of file Cookie.cs.

+ +
+
+

Property Documentation

+ +

◆ Attributes

+ +
+
+ + + + + +
+ + + + +
Dictionary<string, string> MTSC.Common.Http.Cookie.Attributes
+
+get
+
+ +

Dictionary containing cookie attributes.

+ +

Definition at line 23 of file Cookie.cs.

+ +
+
+ +

◆ Key

+ +
+
+ + + + + +
+ + + + +
string MTSC.Common.Http.Cookie.Key
+
+get
+
+ +

Key of cookie.

+ +

Definition at line 15 of file Cookie.cs.

+ +
+
+ +

◆ Value

+ +
+
+ + + + + +
+ + + + +
string MTSC.Common.Http.Cookie.Value
+
+get
+
+ +

Value of cookie.

+ +

Definition at line 19 of file Cookie.cs.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/docs/d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.js b/docs/d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.js new file mode 100644 index 0000000..cb19466 --- /dev/null +++ b/docs/d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.js @@ -0,0 +1,10 @@ +var class_m_t_s_c_1_1_common_1_1_http_1_1_cookie = +[ + [ "Cookie", "d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a5497ca1025be0e4fa6b839f8fbb74628", null ], + [ "Cookie", "d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a3fc35ad84d6aa9fecd1cde95b9d245fa", null ], + [ "BuildCookieBytes", "d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a4262455e1b29c41598c1f8bf1c142b58", null ], + [ "BuildCookieString", "d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#ac189eb5a90e67754e153167bfc07618a", null ], + [ "Attributes", "d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a4894bfb3eb0a07374a1b2e6f24e98a3d", null ], + [ "Key", "d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a1bbc642ddd7413051fcf97a12fde7532", null ], + [ "Value", "d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a3f97d9755a9bf8495a5729f6fc6f3f72", null ] +]; \ No newline at end of file diff --git a/docs/d0/de5/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module-members.html b/docs/d0/de5/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module-members.html index 6d0bd61..2811db3 100644 --- a/docs/d0/de5/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module-members.html +++ b/docs/d0/de5/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d0/deb/class_m_t_s_c_1_1_exceptions_1_1_exception_console_logger-members.html b/docs/d0/deb/class_m_t_s_c_1_1_exceptions_1_1_exception_console_logger-members.html index 549c324..fa68bf2 100644 --- a/docs/d0/deb/class_m_t_s_c_1_1_exceptions_1_1_exception_console_logger-members.html +++ b/docs/d0/deb/class_m_t_s_c_1_1_exceptions_1_1_exception_console_logger-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d1/d35/_client_2_handlers_2_websocket_handler_8cs_source.html b/docs/d1/d35/_client_2_handlers_2_websocket_handler_8cs_source.html index cf2dbfd..a827272 100644 --- a/docs/d1/d35/_client_2_handlers_2_websocket_handler_8cs_source.html +++ b/docs/d1/d35/_client_2_handlers_2_websocket_handler_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
@@ -92,17 +92,17 @@ $(document).ready(function(){initNavTree('d1/d35/_client_2_handlers_2_websocket_
WebsocketHandler.cs
-
1 using MTSC.Common.Http;
4 using System;
5 using System.Collections.Generic;
6 using System.Security.Cryptography;
7 using System.Text;
8 
9 namespace MTSC.Client.Handlers
10 {
14  public class WebsocketHandler : IHandler
15  {
16  private static string WebsocketHeaderAcceptKey = "Sec-WebSocket-Accept";
17  private static string WebsocketHeaderKey = "Sec-WebSocket-Key";
18  private static string WebsocketProtocolKey = "Sec-WebSocket-Protocol";
19  private static string WebsocketProtocolVersionKey = "Sec-WebSocket-Version";
20  private static string GlobalUniqueIdentifier = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
21  private static SHA1 sha1Provider = SHA1.Create();
22  private enum SocketState
23  {
24  Initial,
25  Handshaking,
26  Established,
27  Closed
28  }
29 
30  #region Fields
31  SocketState state = SocketState.Initial;
32  Queue<WebsocketMessage> messageQueue = new Queue<WebsocketMessage>();
33  List<IWebsocketModule> websocketModules = new List<IWebsocketModule>();
34  string expectedguid = string.Empty;
35  #endregion
36  #region Properties
37  public string WebsocketURI { get; set; }
38  #endregion
39  #region Constructors
40  public WebsocketHandler()
41  {
42  WebsocketURI = "/";
43  }
44  #endregion
45  #region Public Methods
46  public WebsocketHandler AddModule(IWebsocketModule websocketModule)
52  {
53  websocketModules.Add(websocketModule);
54  return this;
55  }
60  public void QueueMessage(WebsocketMessage message)
61  {
62  messageQueue.Enqueue(message);
63  }
64  #endregion
65  #region Handler Implementation
66  void IHandler.Disconnected(Client client)
67  {
68 
69  }
70 
71  bool IHandler.HandleReceivedMessage(Client client, Message message)
72  {
73  if(state == SocketState.Handshaking)
74  {
75  HttpMessage response = new HttpMessage();
76  response.ParseResponse(message.MessageBytes);
77  if(response.StatusCode == HttpMessage.StatusCodes.SwitchingProtocols &&
78  response["Upgrade"] == "websocket" &&
79  response[HttpMessage.GeneralHeadersEnum.Connection].ToLower() == "upgrade" &&
80  response[WebsocketHeaderAcceptKey].Trim() == expectedguid)
81  {
82  state = SocketState.Established;
83  foreach (IWebsocketModule websocketModule in websocketModules)
84  {
85  websocketModule.ConnectionInitialized(client, this);
86  }
87  }
88  return true;
89  }
90  else if(state == SocketState.Established)
91  {
92  WebsocketMessage receivedMessage = new WebsocketMessage(message.MessageBytes);
93  if (receivedMessage.Opcode == WebsocketMessage.Opcodes.Close)
94  {
95  foreach (IWebsocketModule websocketModule in websocketModules)
96  {
97  websocketModule.ConnectionClosed(client, this);
98  }
99  }
100  else
101  {
102  foreach (IWebsocketModule websocketModule in websocketModules)
103  {
104  if (websocketModule.HandleReceivedMessage(client, this, receivedMessage))
105  {
106  break;
107  }
108  }
109  }
110  return true;
111  }
112  return false;
113  }
114 
115  bool IHandler.HandleSendMessage(Client client, ref Message message)
116  {
117  return false;
118  }
119 
120  bool IHandler.InitializeConnection(Client client)
121  {
122  state = SocketState.Handshaking;
123  string handshakeGuid = Guid.NewGuid().ToString();
124  string handshakeKey = handshakeGuid+ GlobalUniqueIdentifier;
125  expectedguid = Convert.ToBase64String(sha1Provider.ComputeHash(Encoding.UTF8.GetBytes(handshakeKey)));
126  HttpMessage beginRequest = new HttpMessage();
127  beginRequest.Method = HttpMessage.MethodEnum.Get;
128  beginRequest.RequestURI = WebsocketURI;
129  beginRequest[HttpMessage.RequestHeadersEnum.Host] = client.Address;
130  beginRequest[HttpMessage.GeneralHeadersEnum.Connection] = "Upgrade";
131  beginRequest[WebsocketHeaderKey] = handshakeGuid;
132  beginRequest["Origin"] = client.Address;
133  beginRequest[WebsocketProtocolKey] = "chat";
134  beginRequest[WebsocketProtocolVersionKey] = "13";
135  client.QueueMessage(beginRequest.GetRequest());
136  return true;
137  }
138 
139  bool IHandler.PreHandleReceivedMessage(Client client, ref Message message)
140  {
141  return false;
142  }
143 
144  void IHandler.Tick(Client client)
145  {
146  while(messageQueue.Count > 0)
147  {
148  WebsocketMessage message = messageQueue.Dequeue();
149  client.QueueMessage(message.GetMessageBytes());
150  if(message.Opcode == WebsocketMessage.Opcodes.Close)
151  {
152  foreach (IWebsocketModule websocketModule in websocketModules)
153  {
154  websocketModule.ConnectionClosed(client, this);
155  }
156  }
157  }
158  }
159  #endregion
160  }
161 }
bool HandleReceivedMessage(Client.Client client, WebsocketHandler handler, WebsocketMessage messageBytes)
Handle received message.
+
1 using MTSC.Common.Http;
4 using System;
5 using System.Collections.Generic;
6 using System.Security.Cryptography;
7 using System.Text;
8 
9 namespace MTSC.Client.Handlers
10 {
14  public class WebsocketHandler : IHandler
15  {
16  private static string WebsocketHeaderAcceptKey = "Sec-WebSocket-Accept";
17  private static string WebsocketHeaderKey = "Sec-WebSocket-Key";
18  private static string WebsocketProtocolKey = "Sec-WebSocket-Protocol";
19  private static string WebsocketProtocolVersionKey = "Sec-WebSocket-Version";
20  private static string GlobalUniqueIdentifier = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
21  private static SHA1 sha1Provider = SHA1.Create();
22  private enum SocketState
23  {
24  Initial,
25  Handshaking,
26  Established,
27  Closed
28  }
29 
30  #region Fields
31  SocketState state = SocketState.Initial;
32  Queue<WebsocketMessage> messageQueue = new Queue<WebsocketMessage>();
33  List<IWebsocketModule> websocketModules = new List<IWebsocketModule>();
34  string expectedguid = string.Empty;
35  #endregion
36  #region Properties
37  public string WebsocketURI { get; set; }
38  #endregion
39  #region Constructors
40  public WebsocketHandler()
41  {
42  WebsocketURI = "/";
43  }
44  #endregion
45  #region Public Methods
46  public WebsocketHandler AddModule(IWebsocketModule websocketModule)
52  {
53  websocketModules.Add(websocketModule);
54  return this;
55  }
60  public void QueueMessage(WebsocketMessage message)
61  {
62  messageQueue.Enqueue(message);
63  }
64  #endregion
65  #region Handler Implementation
66  void IHandler.Disconnected(Client client)
67  {
68 
69  }
70 
71  bool IHandler.HandleReceivedMessage(Client client, Message message)
72  {
73  if(state == SocketState.Handshaking)
74  {
75  HttpMessage response = new HttpMessage();
76  response.ParseResponse(message.MessageBytes);
77  if(response.StatusCode == HttpMessage.StatusCodes.SwitchingProtocols &&
78  response["Upgrade"] == "websocket" &&
79  response[HttpMessage.GeneralHeadersEnum.Connection].ToLower() == "upgrade" &&
80  response[WebsocketHeaderAcceptKey].Trim() == expectedguid)
81  {
82  state = SocketState.Established;
83  foreach (IWebsocketModule websocketModule in websocketModules)
84  {
85  websocketModule.ConnectionInitialized(client, this);
86  }
87  }
88  return true;
89  }
90  else if(state == SocketState.Established)
91  {
92  WebsocketMessage receivedMessage = new WebsocketMessage(message.MessageBytes);
93  if (receivedMessage.Opcode == WebsocketMessage.Opcodes.Close)
94  {
95  foreach (IWebsocketModule websocketModule in websocketModules)
96  {
97  websocketModule.ConnectionClosed(client, this);
98  }
99  }
100  else
101  {
102  foreach (IWebsocketModule websocketModule in websocketModules)
103  {
104  if (websocketModule.HandleReceivedMessage(client, this, receivedMessage))
105  {
106  break;
107  }
108  }
109  }
110  return true;
111  }
112  return false;
113  }
114 
115  bool IHandler.HandleSendMessage(Client client, ref Message message)
116  {
117  return false;
118  }
119 
120  bool IHandler.InitializeConnection(Client client)
121  {
122  state = SocketState.Handshaking;
123  string handshakeGuid = Guid.NewGuid().ToString();
124  string handshakeKey = handshakeGuid+ GlobalUniqueIdentifier;
125  expectedguid = Convert.ToBase64String(sha1Provider.ComputeHash(Encoding.UTF8.GetBytes(handshakeKey)));
126  HttpMessage beginRequest = new HttpMessage();
127  beginRequest.Method = HttpMessage.MethodEnum.Get;
128  beginRequest.RequestURI = WebsocketURI;
129  beginRequest[HttpMessage.RequestHeadersEnum.Host] = client.Address;
130  beginRequest[HttpMessage.GeneralHeadersEnum.Connection] = "Upgrade";
131  beginRequest[WebsocketHeaderKey] = handshakeGuid;
132  beginRequest["Origin"] = client.Address;
133  beginRequest[WebsocketProtocolKey] = "chat";
134  beginRequest[WebsocketProtocolVersionKey] = "13";
135  client.QueueMessage(beginRequest.BuildRequest());
136  return true;
137  }
138 
139  bool IHandler.PreHandleReceivedMessage(Client client, ref Message message)
140  {
141  return false;
142  }
143 
144  void IHandler.Tick(Client client)
145  {
146  while(messageQueue.Count > 0)
147  {
148  WebsocketMessage message = messageQueue.Dequeue();
149  client.QueueMessage(message.GetMessageBytes());
150  if(message.Opcode == WebsocketMessage.Opcodes.Close)
151  {
152  foreach (IWebsocketModule websocketModule in websocketModules)
153  {
154  websocketModule.ConnectionClosed(client, this);
155  }
156  }
157  }
158  }
159  #endregion
160  }
161 }
bool HandleReceivedMessage(Client.Client client, WebsocketHandler handler, WebsocketMessage messageBytes)
Handle received message.
void QueueMessage(WebsocketMessage message)
Add a message to the queue to be sent.
void ConnectionClosed(Client.Client client, WebsocketHandler handler)
Called when an existing websocket connection is being closed.
void ConnectionInitialized(Client.Client client, WebsocketHandler handler)
Called when a new websocket connection has been initialized.
WebsocketHandler AddModule(IWebsocketModule websocketModule)
Add a module to the websocket handler.
-
byte [] GetRequest()
Build the request bytes based on the message contents.
Definition: HttpMessage.cs:225
Class containing the bytes of a websocket received message.
+
byte [] BuildRequest()
Build the request bytes based on the message contents.
Definition: HttpMessage.cs:232
void Disconnected(Client client)
Called when the client is disconnected.
@@ -111,7 +111,7 @@ $(document).ready(function(){initNavTree('d1/d35/_client_2_handlers_2_websocket_
Handler implementing websocket protocol.
Handler interface for client communication.
Definition: IHandler.cs:11
Definition: Client.cs:14
-
void ParseResponse(byte[] responseBytes)
Parse the received bytes and populate the message contents.
Definition: HttpMessage.cs:375
+
void ParseResponse(byte[] responseBytes)
Parse the received bytes and populate the message contents.
Definition: HttpMessage.cs:406
Base class for TCP Client.
Definition: Client.cs:19
diff --git a/docs/d1/d39/_invalid_websocket_format_exception_8cs_source.html b/docs/d1/d39/_invalid_websocket_format_exception_8cs_source.html index f942d3f..33d38e7 100644 --- a/docs/d1/d39/_invalid_websocket_format_exception_8cs_source.html +++ b/docs/d1/d39/_invalid_websocket_format_exception_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d1/d56/namespace_m_t_s_c_1_1_exceptions.html b/docs/d1/d56/namespace_m_t_s_c_1_1_exceptions.html index 829e302..0b431d9 100644 --- a/docs/d1/d56/namespace_m_t_s_c_1_1_exceptions.html +++ b/docs/d1/d56/namespace_m_t_s_c_1_1_exceptions.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d1/d6d/_invalid_header_exception_8cs_source.html b/docs/d1/d6d/_invalid_header_exception_8cs_source.html index f6207fe..1ce185f 100644 --- a/docs/d1/d6d/_invalid_header_exception_8cs_source.html +++ b/docs/d1/d6d/_invalid_header_exception_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d1/d7f/_release_2netcoreapp3_80_2_m_t_s_c_8_assembly_info_8cs_source.html b/docs/d1/d7f/_release_2netcoreapp3_80_2_m_t_s_c_8_assembly_info_8cs_source.html new file mode 100644 index 0000000..abce4f2 --- /dev/null +++ b/docs/d1/d7f/_release_2netcoreapp3_80_2_m_t_s_c_8_assembly_info_8cs_source.html @@ -0,0 +1,107 @@ + + + + + + + +MTSC: D:/Projects/MTSC/MTSC/obj/Release/netcoreapp3.0/MTSC.AssemblyInfo.cs Source File + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
MTSC +  1.0.5 +
+
Build TCP servers out of modules with handlers for communication, exception and logging.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
MTSC.AssemblyInfo.cs
+
+
+
1 //------------------------------------------------------------------------------
2 // <auto-generated>
3 // This code was generated by a tool.
4 // Runtime Version:4.0.30319.42000
5 //
6 // Changes to this file may cause incorrect behavior and will be lost if
7 // the code is regenerated.
8 // </auto-generated>
9 //------------------------------------------------------------------------------
10 
11 using System;
12 using System.Reflection;
13 
14 [assembly: System.Reflection.AssemblyCompanyAttribute("Alexandru-Victor Macocian")]
15 [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
16 [assembly: System.Reflection.AssemblyDescriptionAttribute("Modular TCP Server and Client")]
17 [assembly: System.Reflection.AssemblyFileVersionAttribute("0.1.0.5")]
18 [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.5")]
19 [assembly: System.Reflection.AssemblyProductAttribute("MTSC")]
20 [assembly: System.Reflection.AssemblyTitleAttribute("MTSC")]
21 [assembly: System.Reflection.AssemblyVersionAttribute("0.1.0.5")]
22 
23 // Generated by the MSBuild WriteCodeFragment class.
24 
+
+ + + + diff --git a/docs/d1/db2/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_hello_world_module-members.html b/docs/d1/db2/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_hello_world_module-members.html index 48a65f8..4c870ef 100644 --- a/docs/d1/db2/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_hello_world_module-members.html +++ b/docs/d1/db2/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_hello_world_module-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d2/d00/_release_2net45_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html b/docs/d2/d00/_release_2net45_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html index 4f92739..4171992 100644 --- a/docs/d2/d00/_release_2net45_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html +++ b/docs/d2/d00/_release_2net45_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d2/d29/_echo_module_8cs_source.html b/docs/d2/d29/_echo_module_8cs_source.html index bb75f21..0f999b2 100644 --- a/docs/d2/d29/_echo_module_8cs_source.html +++ b/docs/d2/d29/_echo_module_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d2/d2f/namespace_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules.html b/docs/d2/d2f/namespace_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules.html index 8784310..75c48a0 100644 --- a/docs/d2/d2f/namespace_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules.html +++ b/docs/d2/d2f/namespace_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d2/d34/_debug_2netcoreapp2_81_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html b/docs/d2/d34/_debug_2netcoreapp2_81_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html index 8b4cd8b..be2c1fc 100644 --- a/docs/d2/d34/_debug_2netcoreapp2_81_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html +++ b/docs/d2/d34/_debug_2netcoreapp2_81_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d2/d6f/class_m_t_s_c_1_1_exceptions_1_1_invalid_http_version_exception-members.html b/docs/d2/d6f/class_m_t_s_c_1_1_exceptions_1_1_invalid_http_version_exception-members.html index a52409c..3b4edad 100644 --- a/docs/d2/d6f/class_m_t_s_c_1_1_exceptions_1_1_invalid_http_version_exception-members.html +++ b/docs/d2/d6f/class_m_t_s_c_1_1_exceptions_1_1_invalid_http_version_exception-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d2/d93/class_m_t_s_c_1_1_client_1_1_client-members.html b/docs/d2/d93/class_m_t_s_c_1_1_client_1_1_client-members.html index e9e7e8d..a88dabc 100644 --- a/docs/d2/d93/class_m_t_s_c_1_1_client_1_1_client-members.html +++ b/docs/d2/d93/class_m_t_s_c_1_1_client_1_1_client-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d2/dd3/namespace_m_t_s_c_1_1_common_1_1_http.html b/docs/d2/dd3/namespace_m_t_s_c_1_1_common_1_1_http.html index dcdff9a..8685e0e 100644 --- a/docs/d2/dd3/namespace_m_t_s_c_1_1_common_1_1_http.html +++ b/docs/d2/dd3/namespace_m_t_s_c_1_1_common_1_1_http.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
@@ -98,6 +98,9 @@ $(document).ready(function(){initNavTree('d2/dd3/namespace_m_t_s_c_1_1_common_1_ + + +

Classes

class  Cookie
 Class for HTTP cookies. More...
 
class  HttpMessage
 
diff --git a/docs/d2/dd3/namespace_m_t_s_c_1_1_common_1_1_http.js b/docs/d2/dd3/namespace_m_t_s_c_1_1_common_1_1_http.js index dacdf6a..436e6e6 100644 --- a/docs/d2/dd3/namespace_m_t_s_c_1_1_common_1_1_http.js +++ b/docs/d2/dd3/namespace_m_t_s_c_1_1_common_1_1_http.js @@ -2,5 +2,6 @@ var namespace_m_t_s_c_1_1_common_1_1_http = [ [ "ClientModules", "da/db3/namespace_m_t_s_c_1_1_common_1_1_http_1_1_client_modules.html", "da/db3/namespace_m_t_s_c_1_1_common_1_1_http_1_1_client_modules" ], [ "ServerModules", "df/dda/namespace_m_t_s_c_1_1_common_1_1_http_1_1_server_modules.html", "df/dda/namespace_m_t_s_c_1_1_common_1_1_http_1_1_server_modules" ], + [ "Cookie", "d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html", "d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie" ], [ "HttpMessage", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message" ] ]; \ No newline at end of file diff --git a/docs/d2/dfb/_debug_console_logger_8cs_source.html b/docs/d2/dfb/_debug_console_logger_8cs_source.html index d85bc90..c2edce0 100644 --- a/docs/d2/dfb/_debug_console_logger_8cs_source.html +++ b/docs/d2/dfb/_debug_console_logger_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d3/d04/class_m_t_s_c_1_1_server_1_1_handlers_1_1_encryption_handler.html b/docs/d3/d04/class_m_t_s_c_1_1_server_1_1_handlers_1_1_encryption_handler.html index e0e60c1..7af789b 100644 --- a/docs/d3/d04/class_m_t_s_c_1_1_server_1_1_handlers_1_1_encryption_handler.html +++ b/docs/d3/d04/class_m_t_s_c_1_1_server_1_1_handlers_1_1_encryption_handler.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d3/d04/class_m_t_s_c_1_1_server_1_1_handlers_1_1_encryption_handler.png b/docs/d3/d04/class_m_t_s_c_1_1_server_1_1_handlers_1_1_encryption_handler.png index f8801f1..c84b50c 100644 Binary files a/docs/d3/d04/class_m_t_s_c_1_1_server_1_1_handlers_1_1_encryption_handler.png and b/docs/d3/d04/class_m_t_s_c_1_1_server_1_1_handlers_1_1_encryption_handler.png differ diff --git a/docs/d3/d13/interface_m_t_s_c_1_1_client_1_1_handlers_1_1_i_handler-members.html b/docs/d3/d13/interface_m_t_s_c_1_1_client_1_1_handlers_1_1_i_handler-members.html index 14ff648..76369af 100644 --- a/docs/d3/d13/interface_m_t_s_c_1_1_client_1_1_handlers_1_1_i_handler-members.html +++ b/docs/d3/d13/interface_m_t_s_c_1_1_client_1_1_handlers_1_1_i_handler-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d3/d1b/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler-members.html b/docs/d3/d1b/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler-members.html index c9adc5a..7f9da73 100644 --- a/docs/d3/d1b/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler-members.html +++ b/docs/d3/d1b/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d3/d3f/_hello_world_module_8cs_source.html b/docs/d3/d3f/_hello_world_module_8cs_source.html index 6386fb4..1da092a 100644 --- a/docs/d3/d3f/_hello_world_module_8cs_source.html +++ b/docs/d3/d3f/_hello_world_module_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d3/d41/_http404_module_8cs_source.html b/docs/d3/d41/_http404_module_8cs_source.html index 1b838f9..fa9318d 100644 --- a/docs/d3/d41/_http404_module_8cs_source.html +++ b/docs/d3/d41/_http404_module_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d3/d42/_client_2_handlers_2_encryption_handler_8cs_source.html b/docs/d3/d42/_client_2_handlers_2_encryption_handler_8cs_source.html index 814544b..ded28f9 100644 --- a/docs/d3/d42/_client_2_handlers_2_encryption_handler_8cs_source.html +++ b/docs/d3/d42/_client_2_handlers_2_encryption_handler_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d3/d4e/_release_2net45_2_m_t_s_c_8_assembly_info_8cs_source.html b/docs/d3/d4e/_release_2net45_2_m_t_s_c_8_assembly_info_8cs_source.html index 7e43e5b..bf2e84a 100644 --- a/docs/d3/d4e/_release_2net45_2_m_t_s_c_8_assembly_info_8cs_source.html +++ b/docs/d3/d4e/_release_2net45_2_m_t_s_c_8_assembly_info_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d3/d73/class_m_t_s_c_1_1_exceptions_1_1_invalid_http_version_exception.html b/docs/d3/d73/class_m_t_s_c_1_1_exceptions_1_1_invalid_http_version_exception.html index dbcd702..3086c9b 100644 --- a/docs/d3/d73/class_m_t_s_c_1_1_exceptions_1_1_invalid_http_version_exception.html +++ b/docs/d3/d73/class_m_t_s_c_1_1_exceptions_1_1_invalid_http_version_exception.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d3/d73/class_m_t_s_c_1_1_exceptions_1_1_invalid_http_version_exception.png b/docs/d3/d73/class_m_t_s_c_1_1_exceptions_1_1_invalid_http_version_exception.png index 44c9612..7800333 100644 Binary files a/docs/d3/d73/class_m_t_s_c_1_1_exceptions_1_1_invalid_http_version_exception.png and b/docs/d3/d73/class_m_t_s_c_1_1_exceptions_1_1_invalid_http_version_exception.png differ diff --git a/docs/d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html b/docs/d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html index 11e3d16..5beeda8 100644 --- a/docs/d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html +++ b/docs/d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d3/d8d/_post_module_8cs_source.html b/docs/d3/d8d/_post_module_8cs_source.html new file mode 100644 index 0000000..0e10955 --- /dev/null +++ b/docs/d3/d8d/_post_module_8cs_source.html @@ -0,0 +1,123 @@ + + + + + + + +MTSC: D:/Projects/MTSC/MTSC/Common/Http/ServerModules/PostModule.cs Source File + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
MTSC +  1.0.5 +
+
Build TCP servers out of modules with handlers for communication, exception and logging.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
PostModule.cs
+
+
+
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using MTSC.Exceptions;
5 using MTSC.Server;
6 using MTSC.Server.Handlers;
7 
9 {
10  public class PostModule : IHttpModule
11  {
12  private static string urlEncodedHeader = "application/x-www-form-urlencoded";
13  private static string multipartHeader = "multipart/form-data";
14 
15  public event EventHandler<Dictionary<string, string>> FormReceived;
16 
17  #region Private Methods
18  private Dictionary<string, string> ParseFormUrlEncoded(HttpMessage request)
19  {
20  if (!request.ContainsHeader(HttpMessage.EntityHeadersEnum.ContentLength))
21  {
22  throw new InvalidPostFormException("Form is missing content-length header!");
23  }
24  else
25  {
26  Dictionary<string, string> formData = new Dictionary<string, string>();
27  int length = int.Parse(request[HttpMessage.EntityHeadersEnum.ContentLength]);
28  int step = 0, parsedLength = 0;
29  StringBuilder fieldBuilder = new StringBuilder();
30  StringBuilder valueBuilder = new StringBuilder();
31  /*
32  * Parse request body to obtain the form data.
33  * Example of a form: field1=value1&field2=value2
34  */
35  for (int i = 0; i < request.Body.Length; i++)
36  {
37  if(request.Body[i] == '\n')
38  {
39  continue;
40  }
41  else if(step == 0)
42  {
43  parsedLength++;
44  if(request.Body[i] == '=')
45  {
46  step = 1;
47  }
48  else
49  {
50  fieldBuilder.Append((char)request.Body[i]);
51  }
52  }
53  else
54  {
55  parsedLength++;
56  if(request.Body[i] == '&')
57  {
58  step = 0;
59  formData[fieldBuilder.ToString()] = valueBuilder.ToString();
60  fieldBuilder.Clear();
61  valueBuilder.Clear();
62  }
63  else
64  {
65  valueBuilder.Append((char)request.Body[i]);
66  if(parsedLength == length)
67  {
68  formData[fieldBuilder.ToString()] = valueBuilder.ToString();
69  }
70  }
71  }
72  }
73  return formData;
74  }
75  }
76 
77  private Dictionary<string, string> ParseFormMultipart(HttpMessage request)
78  {
79  throw new NotImplementedException("Multipart form parsing not implemented yet.");
80  }
81  #endregion
82 
83  #region Interface Implementation
84  bool IHttpModule.HandleRequest(Server.Server server, HttpHandler handler, ClientData client, HttpMessage request, ref HttpMessage response)
85  {
86  if(request.Method == HttpMessage.MethodEnum.Post &&
87  request.ContainsHeader(HttpMessage.EntityHeadersEnum.ContentType))
88  {
89  if (request[HttpMessage.EntityHeadersEnum.ContentType].Contains(urlEncodedHeader))
90  {
91  Dictionary<string, string> form = ParseFormUrlEncoded(request);
92  FormReceived?.Invoke(this, form);
93  server.LogDebug("Received POST form of " + form.Keys.Count + " keys!");
94  return true;
95  }
96  else if (request[HttpMessage.EntityHeadersEnum.ContentType].Contains(multipartHeader))
97  {
98  Dictionary<string, string> form = ParseFormMultipart(request);
99  FormReceived?.Invoke(this, form);
100  server.LogDebug("Received POST form of " + form.Keys.Count + " keys!");
101  return true;
102  }
103  else
104  {
105  return false;
106  }
107  }
108  else
109  {
110  return false;
111  }
112  }
113 
114  void IHttpModule.Tick(Server.Server server, HttpHandler handler)
115  {
116 
117  }
118  #endregion
119  }
120 }
void Tick(Server.Server server, HttpHandler handler)
Perform periodic operations.
+ +
Structure containing client information.
Definition: Server.cs:402
+ +
Handler for handling server http requests.
Definition: HttpHandler.cs:15
+ +
Definition: PostModule.cs:10
+
Server()
Creates an instance of server with default values.
Definition: Server.cs:68
+ +
Basic server class to handle TCP connections.
Definition: Server.cs:20
+
Exception for invalid post forms.
+
bool ContainsHeader(ResponseHeadersEnum header)
Check if the message contains a header.
Definition: HttpMessage.cs:500
+
bool HandleRequest(Server.Server server, HttpHandler handler, ClientData client, HttpMessage request, ref HttpMessage response)
Handle the received request.
+ +
Definition: Client.cs:14
+
Interface for Http modules used by the server http handler.
Definition: IHttpModule.cs:13
+
+
+ + + + diff --git a/docs/d3/d96/_client_2_handlers_2_i_handler_8cs_source.html b/docs/d3/d96/_client_2_handlers_2_i_handler_8cs_source.html index edacbf9..c56c465 100644 --- a/docs/d3/d96/_client_2_handlers_2_i_handler_8cs_source.html +++ b/docs/d3/d96/_client_2_handlers_2_i_handler_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d3/d97/namespace_m_t_s_c_1_1_server.html b/docs/d3/d97/namespace_m_t_s_c_1_1_server.html index d321ff2..dbbc204 100644 --- a/docs/d3/d97/namespace_m_t_s_c_1_1_server.html +++ b/docs/d3/d97/namespace_m_t_s_c_1_1_server.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d3/dac/interface_m_t_s_c_1_1_exceptions_1_1_i_exception_handler-members.html b/docs/d3/dac/interface_m_t_s_c_1_1_exceptions_1_1_i_exception_handler-members.html index 3e2b01d..df3403c 100644 --- a/docs/d3/dac/interface_m_t_s_c_1_1_exceptions_1_1_i_exception_handler-members.html +++ b/docs/d3/dac/interface_m_t_s_c_1_1_exceptions_1_1_i_exception_handler-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d3/db9/_release_2net48_2_m_t_s_c_8_assembly_info_8cs_source.html b/docs/d3/db9/_release_2net48_2_m_t_s_c_8_assembly_info_8cs_source.html index 8934317..48c849c 100644 --- a/docs/d3/db9/_release_2net48_2_m_t_s_c_8_assembly_info_8cs_source.html +++ b/docs/d3/db9/_release_2net48_2_m_t_s_c_8_assembly_info_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
@@ -92,7 +92,7 @@ $(document).ready(function(){initNavTree('d3/db9/_release_2net48_2_m_t_s_c_8_ass
MTSC.AssemblyInfo.cs
-
1 //------------------------------------------------------------------------------
2 // <auto-generated>
3 // This code was generated by a tool.
4 // Runtime Version:4.0.30319.42000
5 //
6 // Changes to this file may cause incorrect behavior and will be lost if
7 // the code is regenerated.
8 // </auto-generated>
9 //------------------------------------------------------------------------------
10 
11 using System;
12 using System.Reflection;
13 
14 [assembly: System.Reflection.AssemblyCompanyAttribute("Alexandru-Victor Macocian")]
15 [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
16 [assembly: System.Reflection.AssemblyDescriptionAttribute("Modular TCP Server and Client")]
17 [assembly: System.Reflection.AssemblyFileVersionAttribute("0.1.0.0")]
18 [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
19 [assembly: System.Reflection.AssemblyProductAttribute("MTSC")]
20 [assembly: System.Reflection.AssemblyTitleAttribute("MTSC")]
21 [assembly: System.Reflection.AssemblyVersionAttribute("0.1.0.0")]
22 
23 // Generated by the MSBuild WriteCodeFragment class.
24 
+
1 //------------------------------------------------------------------------------
2 // <auto-generated>
3 // This code was generated by a tool.
4 // Runtime Version:4.0.30319.42000
5 //
6 // Changes to this file may cause incorrect behavior and will be lost if
7 // the code is regenerated.
8 // </auto-generated>
9 //------------------------------------------------------------------------------
10 
11 using System;
12 using System.Reflection;
13 
14 [assembly: System.Reflection.AssemblyCompanyAttribute("Alexandru-Victor Macocian")]
15 [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
16 [assembly: System.Reflection.AssemblyDescriptionAttribute("Modular TCP Server and Client")]
17 [assembly: System.Reflection.AssemblyFileVersionAttribute("0.1.0.5")]
18 [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.5")]
19 [assembly: System.Reflection.AssemblyProductAttribute("MTSC")]
20 [assembly: System.Reflection.AssemblyTitleAttribute("MTSC")]
21 [assembly: System.Reflection.AssemblyVersionAttribute("0.1.0.5")]
22 
23 // Generated by the MSBuild WriteCodeFragment class.
24 
-
1 using MTSC.Exceptions;
2 using System;
3 using System.Collections.Generic;
4 using System.Text;
5 
6 namespace MTSC.Common.Http
7 {
8  public class HttpMessage
9  {
10  public enum StatusCodes
11  {
12  Continue = 100,
13  SwitchingProtocols = 101,
14  OK = 200,
15  Created = 201,
16  Accepted = 202,
17  NonAuthoritativeInformation = 203,
18  NoContent = 204,
19  ResetContent = 205,
20  PartialContent = 206,
21  MultipleChoices = 300,
22  MovedPermanently = 301,
23  Found = 302,
24  SeeOther = 303,
25  NotModified = 304,
26  UseProxy = 305,
27  TemporaryRedirect = 307,
28  BadRequest = 400,
29  Unauthorized = 401,
30  PaymentRequired = 402,
31  Forbidden = 403,
32  NotFound = 404,
33  MethodNotAllowed = 405,
34  NotAcceptable = 406,
35  ProxyAuthenticationRequired = 407,
36  RequestTimeout = 408,
37  Conflict = 409,
38  Gone = 410,
39  LengthRequired = 411,
40  PreconditionFailed = 412,
41  RequestEntityTooLarge = 413,
42  RequestURITooLarge = 414,
43  UnsupportedMediaType = 415,
44  RequestRangeNotSatisfiable = 416,
45  ExpectationFailed = 417,
46  InternalServerError = 500,
47  NotImplemented = 501,
48  BadGateway = 502,
49  ServiceUnavailable = 503,
50  GatewayTimeout = 504,
51  HTTPVersionNotSupported = 505
52  }
53  public enum MethodEnum
54  {
55  Options = 0,
56  Get = 1,
57  Head = 2,
58  Post = 3,
59  Put = 4,
60  Delete = 5,
61  Trace = 6,
62  Connect = 7,
63  ExtensionMethod = 8
64  }
65  public enum GeneralHeadersEnum
66  {
67  CacheControl = 0,
68  Connection = 1,
69  Date = 2,
70  Pragma = 3,
71  Trailer = 4,
72  TransferEncoding = 5,
73  Upgrade = 6,
74  Via = 7,
75  Warning = 8
76  }
77  public enum RequestHeadersEnum
78  {
79  Accept = 0,
80  AcceptCharset = 1,
81  AcceptEncoding = 2,
82  AcceptLanguage = 3,
83  Authorization = 4,
84  Expect = 5,
85  From = 6,
86  Host = 7,
87  IfMatch = 8,
88  IfModifiedSince = 9,
89  IfNoneMatch = 10,
90  IfRange = 11,
91  IfUnmodifiedSince = 12,
92  MaxForwards = 13,
93  ProxyAuthorization = 14,
94  Range = 15,
95  Referer = 16,
96  TE = 17,
97  UserAgent = 18
98  }
99  public enum ResponseHeadersEnum
100  {
101  AcceptRanges = 0,
102  Age = 1,
103  ETag = 2,
104  Location = 3,
105  ProxyAuthentication = 4,
106  RetryAfter = 5,
107  Server = 6,
108  Vary = 7,
109  WWWAuthenticate = 8
110  }
111  public enum EntityHeadersEnum
112  {
113  Allow = 0,
114  ContentEncoding = 1,
115  ContentLanguage = 2,
116  ContentLength = 3,
117  ContentLocation = 4,
118  ContentMD5 = 5,
119  ContentRange = 6,
120  ContentType = 7,
121  Expired = 8,
122  LastModified = 9
123  }
124  private static string[] methods = new string[] { "OPTIONS", "GET", "HEAD", "POST", "PUT", "DELETE", "TRACE", "CONNECT", "extension-method" };
125  private static string[] generalHeaders = new string[] { "Cache-Control", "Connection", "Date", "Pragma", "Trailer", "Transfer-Encoding", "Upgrade", "Via", "Warning" };
126  private static string[] requestHeaders = new string[] { "Accept", "Accept-Charset", "Accept-Encoding", "Accept-Language", "Authorization", "Expect", "From", "Host", "If-Match",
127  "If-Modified-Since", "If-None-Match", "If-Range", "If-Unmodified-Since", "Max-Forwards", "Proxy-Authorizatio", "Range", "Referer", "TE", "User-Agent"};
128  private static string[] responseHeaders = new string[] { "Accept-Ranges", "Age", "ETag", "Location", "Retry-After", "Server", "Vary", "WWW-Authenticate" };
129  private static string[] entityHeaders = new string[] { "Allow", "Content-Encoding", "Content-Language", "Content-Length", "Content-Location", "Content-MD5", "Content-Range", "Content-Type",
130  "Expires", "Last-Modified" };
131 
132  private static char SP = ' ';
133  private static char HT = '\t';
134  private static string CRLF = "\r\n";
135  private static string HTTPVER = "HTTP/1.1";
136 
137  private Dictionary<string, string> headers = new Dictionary<string, string>();
138 
139  #region Properties
140  public MethodEnum Method { get; set; }
141  public string RequestURI { get; set; }
142  public string RequestQuery { get; set; }
143  public byte[] Body { get; set; }
144  public StatusCodes StatusCode { get; set; }
145  #endregion
146  #region Constructors
147  public HttpMessage()
148  {
149  RequestQuery = string.Empty;
150  RequestURI = "/";
151  Method = MethodEnum.Get;
152  }
153  #endregion
154  #region Public Methods
155  public string this[string headerKey] { get => headers[headerKey]; set => headers[headerKey] = value; }
166  public string this[GeneralHeadersEnum headerKey] { get => headers[generalHeaders[(int)headerKey]]; set => headers[generalHeaders[(int)headerKey]] = value; }
172  public string this[ResponseHeadersEnum headerKey] { get => headers[responseHeaders[(int)headerKey]]; set => headers[responseHeaders[(int)headerKey]] = value; }
178  public string this[RequestHeadersEnum headerKey] { get => headers[requestHeaders[(int)headerKey]]; set => headers[requestHeaders[(int)headerKey]] = value; }
184  public string this[EntityHeadersEnum headerKey] { get => headers[entityHeaders[(int)headerKey]]; set => headers[entityHeaders[(int)headerKey]] = value; }
190  public void AddGeneralHeader(GeneralHeadersEnum header, string value)
191  {
192  headers[generalHeaders[(int)header]] = value;
193  }
199  public void AddRequestHeader(RequestHeadersEnum requestHeader, string value)
200  {
201  headers[requestHeaders[(int)requestHeader]] = value;
202  }
208  public void AddResponseHeader(ResponseHeadersEnum responseHeader, string value)
209  {
210  headers[responseHeaders[(int)responseHeader]] = value;
211  }
217  public void AddEntityHeaders(EntityHeadersEnum entityHeader, string value)
218  {
219  headers[entityHeaders[(int)entityHeader]] = value;
220  }
225  public byte[] GetRequest()
226  {
227  StringBuilder requestString = new StringBuilder();
228  requestString.Append(methods[(int)Method]).Append(SP).Append(RequestURI).Append('?').Append(RequestQuery).Append(SP).Append(HTTPVER).Append(CRLF);
229  foreach(KeyValuePair<string, string> header in headers)
230  {
231  requestString.Append(header.Key).Append(':').Append(SP).Append(header.Value).Append(CRLF);
232  }
233  requestString.Append(CRLF);
234  byte[] request = new byte[requestString.Length + (Body == null ? 0 : Body.Length)];
235  byte[] requestBytes = ASCIIEncoding.ASCII.GetBytes(requestString.ToString());
236  Array.Copy(requestBytes, 0, request, 0, requestBytes.Length);
237  if (Body != null)
238  {
239  Array.Copy(Body, 0, request, requestBytes.Length, Body.Length);
240  }
241  return request;
242  }
247  public void ParseRequest(byte[] requestBytes)
248  {
249  /*
250  * Parse the bytes one by one, respecting the reference manual.
251  */
252  StringBuilder parseBuffer = new StringBuilder();
253  /*
254  * Keep the index of the byte array, to identify the message body.
255  * Step value indicates at what point the parsing algorithm currently is.
256  * Step 0 - Method, 1 - URI, 2 - Query, 3 - HTTPVer, 4 - Header, 5 - Value
257  */
258  int step = 0;
259  string headerKey = string.Empty;
260  string headerValue = string.Empty;
261  int bodyIndex = 0;
262  for(int i = 0; i < requestBytes.Length; i++)
263  {
264  if(step == 0)
265  {
266  Method = ParseMethod(requestBytes, ref i);
267  step++;
268  }
269  else if(step == 1)
270  {
271  RequestURI = ParseRequestURI(requestBytes, ref i);
272  if(requestBytes[i] == '?')
273  {
274  step++;
275  }
276  else
277  {
278  step += 2;
279  }
280  }
281  else if(step == 2)
282  {
283  RequestQuery = ParseRequestQuery(requestBytes, ref i);
284  step++;
285  }
286  else if (step == 3)
287  {
288  ParseHTTPVer(requestBytes, ref i);
289  step++;
290  }
291  else if (step == 4)
292  {
293  if(requestBytes[i] == CRLF[0])
294  {
295  continue;
296  }
297  else if(requestBytes[i] == CRLF[1])
298  {
299  bodyIndex = i;
300  break;
301  }
302  else
303  {
304  headerKey = ParseHeaderKey(requestBytes, ref i);
305  step++;
306  }
307  }
308  else if (step == 5)
309  {
310  if (requestBytes[i] == CRLF[0])
311  {
312  continue;
313  }
314  else if (requestBytes[i] == CRLF[1])
315  {
316  bodyIndex = i;
317  break;
318  }
319  else
320  {
321  headerValue = ParseHeaderValue(requestBytes, ref i);
322  headers.Add(headerKey, headerValue);
323  step--;
324  }
325  }
326  }
327  if(requestBytes.Length - bodyIndex > 1)
328  {
329  /*
330  * If the message contains a body, copy it into a different array
331  * and save it into the HTTP message;
332  */
333  this.Body = new byte[requestBytes.Length - bodyIndex];
334  Array.Copy(requestBytes, bodyIndex, this.Body, 0, this.Body.Length);
335  }
336  return;
337  }
345  public byte[] GetResponse(bool includeContentLengthHeader)
346  {
347  if (includeContentLengthHeader)
348  {
349  /*
350  * If there is a body, include the size of the body. If there is no body,
351  * set the value of the content length to 0.
352  */
353  this[EntityHeadersEnum.ContentLength] = Body == null ? "0" : Body.Length.ToString();
354  }
355  StringBuilder responseString = new StringBuilder();
356  responseString.Append(HTTPVER).Append(SP).Append((int)this.StatusCode).Append(SP).Append(this.StatusCode.ToString()).Append(CRLF);
357  foreach (KeyValuePair<string, string> header in headers)
358  {
359  responseString.Append(header.Key).Append(':').Append(SP).Append(header.Value).Append(CRLF);
360  }
361  responseString.Append(CRLF);
362  byte[] response = new byte[responseString.Length + (Body == null ? 0 : Body.Length)];
363  byte[] responseBytes = ASCIIEncoding.ASCII.GetBytes(responseString.ToString());
364  Array.Copy(responseBytes, 0, response, 0, responseBytes.Length);
365  if (Body != null)
366  {
367  Array.Copy(Body, 0, response, responseBytes.Length, Body.Length);
368  }
369  return response;
370  }
375  public void ParseResponse(byte[] responseBytes)
376  {
377  /*
378  * Parse the bytes one by one, respecting the reference manual.
379  */
380  StringBuilder parseBuffer = new StringBuilder();
381  /*
382  * Keep the index of the byte array, to identify the message body.
383  * Step value indicates at what point the parsing algorithm currently is.
384  * Step 0 - HTTPVer, 1 - StatusCodeInt, 2 - StatusCodeString, 3 - Header, 4 - Value
385  */
386  int step = 0;
387  string headerKey = string.Empty;
388  string headerValue = string.Empty;
389  int bodyIndex = 0;
390  for (int i = 0; i < responseBytes.Length; i++)
391  {
392  if (step == 0)
393  {
394  ParseHTTPVer(responseBytes, ref i);
395  step++;
396  }
397  else if (step == 1)
398  {
399  StatusCode = (StatusCodes)ParseResponseCode(responseBytes, ref i);
400  step++;
401  }
402  else if (step == 2)
403  {
404  if(StatusCode != ParseResponseCodeString(responseBytes, ref i))
405  {
406  throw new InvalidStatusCodeException("Status code value and text do not match!");
407  }
408  step++;
409  }
410  else if (step == 3)
411  {
412  if (responseBytes[i] == CRLF[0])
413  {
414  continue;
415  }
416  else if (responseBytes[i] == CRLF[1])
417  {
418  bodyIndex = i;
419  break;
420  }
421  else
422  {
423  headerKey = ParseHeaderKey(responseBytes, ref i);
424  step++;
425  }
426  }
427  else if (step == 4)
428  {
429  if (responseBytes[i] == CRLF[0])
430  {
431  continue;
432  }
433  else if (responseBytes[i] == CRLF[1])
434  {
435  bodyIndex = i;
436  break;
437  }
438  else
439  {
440  headerValue = ParseHeaderValue(responseBytes, ref i);
441  headers.Add(headerKey, headerValue);
442  step--;
443  }
444  }
445  }
446  if (responseBytes.Length - bodyIndex > 1)
447  {
448  /*
449  * If the message contains a body, copy it into a different array
450  * and save it into the HTTP message;
451  */
452  this.Body = new byte[responseBytes.Length - bodyIndex - 1];
453  Array.Copy(responseBytes, bodyIndex, this.Body, 0, this.Body.Length);
454  }
455  return;
456  }
462  public bool ContainsHeader(ResponseHeadersEnum header)
463  {
464  return ContainsHeader(responseHeaders[(int)header]);
465  }
471  public bool ContainsHeader(RequestHeadersEnum header)
472  {
473  return ContainsHeader(requestHeaders[(int)header]);
474  }
480  public bool ContainsHeader(GeneralHeadersEnum header)
481  {
482  return ContainsHeader(generalHeaders[(int)header]);
483  }
489  public bool ContainsHeader(string header)
490  {
491  return headers.ContainsKey(header);
492  }
497  public Dictionary<string, string> GetPostForm()
498  {
499  if (ContainsHeader("Content-Type") && Body != null)
500  {
501  if(this["Content-Type"] == "application/x-www-form-urlencoded")
502  {
503  Dictionary<string, string> returnDictionary = new Dictionary<string, string>();
504  /*
505  * Walk through the buffer and get the form contents.
506  * Step 0 - key, 1 - value.
507  */
508  string formKey = string.Empty;
509  int step = 0;
510  for(int i = 0; i < Body.Length; i++)
511  {
512  if(step == 0)
513  {
514  formKey = GetField(Body, ref i);
515  step++;
516  }
517  else
518  {
519  returnDictionary[formKey] = GetValue(Body, ref i);
520  step--;
521  }
522  }
523  return returnDictionary;
524  }
525  else if (this["Content-Type"].Contains("multipart/form-data"))
526  {
527  throw new NotImplementedException("Multipart posting not implemented");
528  }
529  else
530  {
531  return null;
532  }
533  }
534  else
535  {
536  return null;
537  }
538  }
539  #endregion
540  #region Private Methods
541  private MethodEnum GetMethod(string methodString)
542  {
543  int index = Array.IndexOf(methods, methodString.ToUpper());
544  return (MethodEnum)index;
545  }
546 
547  private MethodEnum ParseMethod(byte[] buffer, ref int index)
548  {
549  /*
550  * Get each character one by one. When meeting a SP character, parse the method, clear the buffer
551  * and continue with parsing the next step.
552  */
553  StringBuilder parseBuffer = new StringBuilder();
554  for (; index < buffer.Length; index++)
555  {
556  try
557  {
558  if (buffer[index] == (byte)SP)
559  {
560  string methodString = parseBuffer.ToString();
561  return GetMethod(methodString);
562  }
563  else
564  {
565  parseBuffer.Append((char)buffer[index]);
566  }
567  }
568  catch (Exception e)
569  {
570  throw new MethodInvalidException("Invalid request method. Buffer: " + parseBuffer.ToString(), e);
571  }
572  }
573  throw new MethodInvalidException("Invalid request method. Buffer: " + parseBuffer.ToString());
574  }
575 
576  private string ParseRequestURI(byte[] buffer, ref int index)
577  {
578  /*
579  * Get each character one by one. When meeting a SP character, parse the URI and clear the buffer.
580  */
581  StringBuilder parseBuffer = new StringBuilder();
582  for (; index < buffer.Length; index++)
583  {
584  try
585  {
586  if (buffer[index] == (byte)SP)
587  {
588  return parseBuffer.ToString();
589  }
590  if (buffer[index] == '?')
591  {
592  return parseBuffer.ToString();
593  }
594  else
595  {
596  parseBuffer.Append((char)buffer[index]);
597  }
598  }
599  catch (Exception e)
600  {
601  throw new InvalidRequestURIException("Invalid request URI. Buffer: " + parseBuffer.ToString(), e);
602  }
603  }
604  throw new InvalidRequestURIException("Invalid request URI. Buffer: " + parseBuffer.ToString());
605  }
606 
607  private string ParseRequestQuery(byte[] buffer, ref int index)
608  {
609  /*
610  * Get each character one by one. When meeting a SP character, parse the URI and clear the buffer.
611  */
612  StringBuilder parseBuffer = new StringBuilder();
613  for (; index < buffer.Length; index++)
614  {
615  try
616  {
617  if (buffer[index] == (byte)SP)
618  {
619  return parseBuffer.ToString();
620  }
621  else
622  {
623  parseBuffer.Append((char)buffer[index]);
624  }
625  }
626  catch (Exception e)
627  {
628  throw new InvalidRequestURIException("Invalid request query. Buffer: " + parseBuffer.ToString(), e);
629  }
630  }
631  throw new InvalidRequestURIException("Invalid request query. Buffer: " + parseBuffer.ToString());
632  }
633 
634  private void ParseHTTPVer(byte[] buffer, ref int index)
635  {
636  /*
637  * Get each character one by one. When meeting a LF character, parse the HTTPVer.
638  * Check if the HTTPVer matches the implementation version.
639  * If not, throw an exception.
640  */
641  StringBuilder parseBuffer = new StringBuilder();
642  for (; index < buffer.Length; index++)
643  {
644  try
645  {
646  if (buffer[index] == CRLF[1] || buffer[index] == SP)
647  {
648  string httpVer = parseBuffer.ToString();
649  if (httpVer != HTTPVER)
650  {
651  throw new InvalidHttpVersionException("Invalid HTTP version. Buffer: " + parseBuffer.ToString());
652  }
653  return;
654  }
655  else if(buffer[index] == CRLF[0])
656  {
657  /*
658  * If a termination character is detected, ignore it and wait for the full terminator.
659  */
660  continue;
661  }
662  else
663  {
664  parseBuffer.Append((char)buffer[index]);
665  }
666  }
667  catch (Exception e)
668  {
669  throw new InvalidHttpVersionException("Invalid HTTP version. Buffer: " + parseBuffer.ToString(), e);
670  }
671  }
672  }
673 
674  private string ParseHeaderKey(byte[] buffer, ref int index)
675  {
676  /*
677  * Get each character one by one. When meeting a ':' character, parse the header key.
678  */
679  StringBuilder parseBuffer = new StringBuilder();
680  for (; index < buffer.Length; index++)
681  {
682  try
683  {
684  if (buffer[index] == ':')
685  {
686  return parseBuffer.ToString();
687  }
688  else
689  {
690  parseBuffer.Append((char)buffer[index]);
691  }
692  }
693  catch (Exception e)
694  {
695  throw new InvalidHeaderException("Invalid Header key. Buffer: " + parseBuffer.ToString(), e);
696  }
697  }
698  throw new InvalidHeaderException("Invalid Header key. Buffer: " + parseBuffer.ToString());
699  }
700 
701  private string ParseHeaderValue(byte[] buffer, ref int index)
702  {
703  /*
704  * Get each character one by one. When meeting a LF character, parse the value.
705  */
706  StringBuilder parseBuffer = new StringBuilder();
707  for (; index < buffer.Length; index++)
708  {
709  try
710  {
711  if (buffer[index] == CRLF[1])
712  {
713  return parseBuffer.ToString().Trim();
714  }
715  else if (buffer[index] == CRLF[0])
716  {
717  /*
718  * If a termination character is detected, ignore it and wait for the full terminator.
719  */
720  continue;
721  }
722  else
723  {
724  parseBuffer.Append((char)buffer[index]);
725  }
726  }
727  catch (Exception e)
728  {
729  throw new InvalidHeaderException("Invalid header value. Buffer: " + parseBuffer.ToString(), e);
730  }
731  }
732  throw new InvalidHeaderException("Invalid header value. Buffer: " + parseBuffer.ToString());
733  }
734 
735  private int ParseResponseCode(byte[] buffer, ref int index)
736  {
737  /*
738  * Get each character one by one. When meeting a SP character, parse the value.
739  */
740  StringBuilder parseBuffer = new StringBuilder();
741  for (; index < buffer.Length; index++)
742  {
743  try
744  {
745  if (buffer[index] == SP)
746  {
747  return int.Parse(parseBuffer.ToString());
748  }
749  else
750  {
751  parseBuffer.Append((char)buffer[index]);
752  }
753  }
754  catch (Exception e)
755  {
756  throw new InvalidStatusCodeException("Invalid status code. Buffer: " + parseBuffer.ToString(), e);
757  }
758  }
759  throw new InvalidStatusCodeException("Invalid status code. Buffer: " + parseBuffer.ToString());
760  }
761 
762  private StatusCodes ParseResponseCodeString(byte[] buffer, ref int index)
763  {
764  /*
765  * Get each character one by one. When meeting a LF character, parse the value.
766  */
767  StringBuilder parseBuffer = new StringBuilder();
768  for (; index < buffer.Length; index++)
769  {
770  try
771  {
772  if (buffer[index] == CRLF[1])
773  {
774  return (StatusCodes)Enum.Parse(typeof(StatusCodes), parseBuffer.ToString().Trim());
775  }
776  else if (buffer[index] == CRLF[0])
777  {
778  /*
779  * If a termination character is detected, ignore it and wait for the full terminator.
780  */
781  continue;
782  }
783  else
784  {
785  parseBuffer.Append((char)buffer[index]);
786  }
787  }
788  catch (Exception e)
789  {
790  throw new InvalidStatusCodeException("Invalid status code. Buffer: " + parseBuffer.ToString(), e);
791  }
792  }
793  throw new InvalidHeaderException("Invalid status code. Buffer: " + parseBuffer.ToString());
794  }
795 
796  private string GetField(byte[] buffer, ref int index)
797  {
798  /*
799  * Get each character one by one. When meeting a LF character, parse the value.
800  */
801  StringBuilder parseBuffer = new StringBuilder();
802  for (; index < buffer.Length; index++)
803  {
804  try
805  {
806  if (buffer[index] == '=')
807  {
808  return parseBuffer.ToString().Trim();
809  }
810  else
811  {
812  parseBuffer.Append((char)buffer[index]);
813  }
814  }
815  catch (Exception e)
816  {
817  throw new InvalidPostFormException("Invalid form field. Buffer: " + parseBuffer.ToString(), e);
818  }
819  }
820  throw new InvalidHeaderException("Invalid form field. Buffer: " + parseBuffer.ToString());
821  }
822 
823  private string GetValue(byte[] buffer, ref int index)
824  {
825  /*
826  * Get each character one by one. When meeting a LF character, parse the value.
827  */
828  StringBuilder parseBuffer = new StringBuilder();
829  for (; index < buffer.Length; index++)
830  {
831  try
832  {
833  if (buffer[index] == '&')
834  {
835  return parseBuffer.ToString().Trim();
836  }
837  else
838  {
839  parseBuffer.Append((char)buffer[index]);
840  }
841  }
842  catch (Exception e)
843  {
844  throw new InvalidPostFormException("Invalid form field. Buffer: " + parseBuffer.ToString(), e);
845  }
846  }
847  return parseBuffer.ToString().Trim();
848  }
849  #endregion
850  }
851 }
bool ContainsHeader(GeneralHeadersEnum header)
Check if the message contains a header.
Definition: HttpMessage.cs:480
-
byte [] GetResponse(bool includeContentLengthHeader)
Build the response bytes based on the message contents.
Definition: HttpMessage.cs:345
-
bool ContainsHeader(RequestHeadersEnum header)
Check if the message contains a header.
Definition: HttpMessage.cs:471
-
void AddEntityHeaders(EntityHeadersEnum entityHeader, string value)
Add an entity header to the message.
Definition: HttpMessage.cs:217
+
1 using MTSC.Exceptions;
2 using System;
3 using System.Collections.Generic;
4 using System.Text;
5 
6 namespace MTSC.Common.Http
7 {
8  public class HttpMessage
9  {
10  public enum StatusCodes
11  {
12  Continue = 100,
13  SwitchingProtocols = 101,
14  OK = 200,
15  Created = 201,
16  Accepted = 202,
17  NonAuthoritativeInformation = 203,
18  NoContent = 204,
19  ResetContent = 205,
20  PartialContent = 206,
21  MultipleChoices = 300,
22  MovedPermanently = 301,
23  Found = 302,
24  SeeOther = 303,
25  NotModified = 304,
26  UseProxy = 305,
27  TemporaryRedirect = 307,
28  BadRequest = 400,
29  Unauthorized = 401,
30  PaymentRequired = 402,
31  Forbidden = 403,
32  NotFound = 404,
33  MethodNotAllowed = 405,
34  NotAcceptable = 406,
35  ProxyAuthenticationRequired = 407,
36  RequestTimeout = 408,
37  Conflict = 409,
38  Gone = 410,
39  LengthRequired = 411,
40  PreconditionFailed = 412,
41  RequestEntityTooLarge = 413,
42  RequestURITooLarge = 414,
43  UnsupportedMediaType = 415,
44  RequestRangeNotSatisfiable = 416,
45  ExpectationFailed = 417,
46  InternalServerError = 500,
47  NotImplemented = 501,
48  BadGateway = 502,
49  ServiceUnavailable = 503,
50  GatewayTimeout = 504,
51  HTTPVersionNotSupported = 505
52  }
53  public enum MethodEnum
54  {
55  Options = 0,
56  Get = 1,
57  Head = 2,
58  Post = 3,
59  Put = 4,
60  Delete = 5,
61  Trace = 6,
62  Connect = 7,
63  ExtensionMethod = 8
64  }
65  public enum GeneralHeadersEnum
66  {
67  CacheControl = 0,
68  Connection = 1,
69  Date = 2,
70  Pragma = 3,
71  Trailer = 4,
72  TransferEncoding = 5,
73  Upgrade = 6,
74  Via = 7,
75  Warning = 8
76  }
77  public enum RequestHeadersEnum
78  {
79  Accept = 0,
80  AcceptCharset = 1,
81  AcceptEncoding = 2,
82  AcceptLanguage = 3,
83  Authorization = 4,
84  Expect = 5,
85  From = 6,
86  Host = 7,
87  IfMatch = 8,
88  IfModifiedSince = 9,
89  IfNoneMatch = 10,
90  IfRange = 11,
91  IfUnmodifiedSince = 12,
92  MaxForwards = 13,
93  ProxyAuthorization = 14,
94  Range = 15,
95  Referer = 16,
96  TE = 17,
97  UserAgent = 18
98  }
99  public enum ResponseHeadersEnum
100  {
101  AcceptRanges = 0,
102  Age = 1,
103  ETag = 2,
104  Location = 3,
105  ProxyAuthentication = 4,
106  RetryAfter = 5,
107  Server = 6,
108  Vary = 7,
109  WWWAuthenticate = 8
110  }
111  public enum EntityHeadersEnum
112  {
113  Allow = 0,
114  ContentEncoding = 1,
115  ContentLanguage = 2,
116  ContentLength = 3,
117  ContentLocation = 4,
118  ContentMD5 = 5,
119  ContentRange = 6,
120  ContentType = 7,
121  Expired = 8,
122  LastModified = 9
123  }
124  private static string[] methods = new string[] { "OPTIONS", "GET", "HEAD", "POST", "PUT", "DELETE", "TRACE", "CONNECT", "extension-method" };
125  private static string[] generalHeaders = new string[] { "Cache-Control", "Connection", "Date", "Pragma", "Trailer", "Transfer-Encoding", "Upgrade", "Via", "Warning" };
126  private static string[] requestHeaders = new string[] { "Accept", "Accept-Charset", "Accept-Encoding", "Accept-Language", "Authorization", "Expect", "From", "Host", "If-Match",
127  "If-Modified-Since", "If-None-Match", "If-Range", "If-Unmodified-Since", "Max-Forwards", "Proxy-Authorizatio", "Range", "Referer", "TE", "User-Agent"};
128  private static string[] responseHeaders = new string[] { "Accept-Ranges", "Age", "ETag", "Location", "Retry-After", "Server", "Vary", "WWW-Authenticate" };
129  private static string[] entityHeaders = new string[] { "Allow", "Content-Encoding", "Content-Language", "Content-Length", "Content-Location", "Content-MD5", "Content-Range", "Content-Type",
130  "Expires", "Last-Modified" };
131 
132  private static char SP = ' ';
133  private static char HT = '\t';
134  private static string CRLF = "\r\n";
135  private static string HTTPVER = "HTTP/1.1";
136  private static string RequestCookieHeader = "Cookie";
137  private static string ResponseCookieHeader = "Set-Cookie";
138 
139  private Dictionary<string, string> headers = new Dictionary<string, string>();
140  private List<Cookie> cookies = new List<Cookie>();
141 
142  #region Properties
143  public MethodEnum Method { get; set; }
144  public string RequestURI { get; set; }
145  public string RequestQuery { get; set; }
146  public byte[] Body { get; set; }
147  public StatusCodes StatusCode { get; set; }
148  #endregion
149  #region Constructors
150  public HttpMessage()
151  {
152  RequestQuery = string.Empty;
153  RequestURI = "/";
154  Method = MethodEnum.Get;
155  }
156  #endregion
157  #region Public Methods
158  public string this[string headerKey] { get => headers[headerKey]; set => headers[headerKey] = value; }
169  public string this[GeneralHeadersEnum headerKey] { get => headers[generalHeaders[(int)headerKey]]; set => headers[generalHeaders[(int)headerKey]] = value; }
175  public string this[ResponseHeadersEnum headerKey] { get => headers[responseHeaders[(int)headerKey]]; set => headers[responseHeaders[(int)headerKey]] = value; }
181  public string this[RequestHeadersEnum headerKey] { get => headers[requestHeaders[(int)headerKey]]; set => headers[requestHeaders[(int)headerKey]] = value; }
187  public string this[EntityHeadersEnum headerKey] { get => headers[entityHeaders[(int)headerKey]]; set => headers[entityHeaders[(int)headerKey]] = value; }
191  public List<Cookie> Cookies { get => cookies; }
197  public void AddGeneralHeader(GeneralHeadersEnum header, string value)
198  {
199  headers[generalHeaders[(int)header]] = value;
200  }
206  public void AddRequestHeader(RequestHeadersEnum requestHeader, string value)
207  {
208  headers[requestHeaders[(int)requestHeader]] = value;
209  }
215  public void AddResponseHeader(ResponseHeadersEnum responseHeader, string value)
216  {
217  headers[responseHeaders[(int)responseHeader]] = value;
218  }
224  public void AddEntityHeaders(EntityHeadersEnum entityHeader, string value)
225  {
226  headers[entityHeaders[(int)entityHeader]] = value;
227  }
232  public byte[] BuildRequest()
233  {
234  StringBuilder requestString = new StringBuilder();
235  requestString.Append(methods[(int)Method]).Append(SP).Append(RequestURI).Append('?').Append(RequestQuery).Append(SP).Append(HTTPVER).Append(CRLF);
236  foreach(KeyValuePair<string, string> header in headers)
237  {
238  requestString.Append(header.Key).Append(':').Append(SP).Append(header.Value).Append(CRLF);
239  }
240  requestString.Append(CRLF);
241  if(Cookies.Count > 0)
242  {
243  requestString.Append(RequestCookieHeader).Append(':').Append(SP);
244  for(int i = 0; i < Cookies.Count; i++)
245  {
246  Cookie cookie = Cookies[i];
247  requestString.Append(cookie.BuildCookieString());
248  if(i < Cookies.Count - 1)
249  {
250  requestString.Append(';');
251  }
252  }
253  }
254  byte[] request = new byte[requestString.Length + (Body == null ? 0 : Body.Length)];
255  byte[] requestBytes = ASCIIEncoding.ASCII.GetBytes(requestString.ToString());
256  Array.Copy(requestBytes, 0, request, 0, requestBytes.Length);
257  if (Body != null)
258  {
259  Array.Copy(Body, 0, request, requestBytes.Length, Body.Length);
260  }
261  return request;
262  }
267  public void ParseRequest(byte[] requestBytes)
268  {
269  /*
270  * Parse the bytes one by one, respecting the reference manual.
271  */
272  StringBuilder parseBuffer = new StringBuilder();
273  /*
274  * Keep the index of the byte array, to identify the message body.
275  * Step value indicates at what point the parsing algorithm currently is.
276  * Step 0 - Method, 1 - URI, 2 - Query, 3 - HTTPVer, 4 - Header, 5 - Value
277  */
278  int step = 0;
279  string headerKey = string.Empty;
280  string headerValue = string.Empty;
281  int bodyIndex = 0;
282  for(int i = 0; i < requestBytes.Length; i++)
283  {
284  if(step == 0)
285  {
286  Method = ParseMethod(requestBytes, ref i);
287  step++;
288  }
289  else if(step == 1)
290  {
291  RequestURI = ParseRequestURI(requestBytes, ref i);
292  if(requestBytes[i] == '?')
293  {
294  step++;
295  }
296  else
297  {
298  step += 2;
299  }
300  }
301  else if(step == 2)
302  {
303  RequestQuery = ParseRequestQuery(requestBytes, ref i);
304  step++;
305  }
306  else if (step == 3)
307  {
308  ParseHTTPVer(requestBytes, ref i);
309  step++;
310  }
311  else if (step == 4)
312  {
313  if(requestBytes[i] == CRLF[0])
314  {
315  continue;
316  }
317  else if(requestBytes[i] == CRLF[1])
318  {
319  bodyIndex = i;
320  break;
321  }
322  else
323  {
324  headerKey = ParseHeaderKey(requestBytes, ref i);
325  step++;
326  }
327  }
328  else if (step == 5)
329  {
330  if (requestBytes[i] == CRLF[0])
331  {
332  continue;
333  }
334  else if (requestBytes[i] == CRLF[1])
335  {
336  bodyIndex = i;
337  break;
338  }
339  else
340  {
341  headerValue = ParseHeaderValue(requestBytes, ref i);
342  if (headerKey == RequestCookieHeader)
343  {
344  Cookies.Add(new Cookie(headerValue));
345  }
346  else
347  {
348  headers.Add(headerKey, headerValue);
349  }
350  step--;
351  }
352  }
353  }
354  if(requestBytes.Length - bodyIndex > 1)
355  {
356  /*
357  * If the message contains a body, copy it into a different array
358  * and save it into the HTTP message;
359  */
360  this.Body = new byte[requestBytes.Length - bodyIndex];
361  Array.Copy(requestBytes, bodyIndex, this.Body, 0, this.Body.Length);
362  }
363  return;
364  }
372  public byte[] BuildResponse(bool includeContentLengthHeader)
373  {
374  if (includeContentLengthHeader)
375  {
376  /*
377  * If there is a body, include the size of the body. If there is no body,
378  * set the value of the content length to 0.
379  */
380  this[EntityHeadersEnum.ContentLength] = Body == null ? "0" : Body.Length.ToString();
381  }
382  StringBuilder responseString = new StringBuilder();
383  responseString.Append(HTTPVER).Append(SP).Append((int)this.StatusCode).Append(SP).Append(this.StatusCode.ToString()).Append(CRLF);
384  foreach (KeyValuePair<string, string> header in headers)
385  {
386  responseString.Append(header.Key).Append(':').Append(SP).Append(header.Value).Append(CRLF);
387  }
388  responseString.Append(CRLF);
389  foreach(Cookie cookie in Cookies)
390  {
391  responseString.Append(ResponseCookieHeader).Append(':').Append(SP).Append(cookie.BuildCookieString()).Append(CRLF);
392  }
393  byte[] response = new byte[responseString.Length + (Body == null ? 0 : Body.Length)];
394  byte[] responseBytes = ASCIIEncoding.ASCII.GetBytes(responseString.ToString());
395  Array.Copy(responseBytes, 0, response, 0, responseBytes.Length);
396  if (Body != null)
397  {
398  Array.Copy(Body, 0, response, responseBytes.Length, Body.Length);
399  }
400  return response;
401  }
406  public void ParseResponse(byte[] responseBytes)
407  {
408  /*
409  * Parse the bytes one by one, respecting the reference manual.
410  */
411  StringBuilder parseBuffer = new StringBuilder();
412  /*
413  * Keep the index of the byte array, to identify the message body.
414  * Step value indicates at what point the parsing algorithm currently is.
415  * Step 0 - HTTPVer, 1 - StatusCodeInt, 2 - StatusCodeString, 3 - Header, 4 - Value
416  */
417  int step = 0;
418  string headerKey = string.Empty;
419  string headerValue = string.Empty;
420  int bodyIndex = 0;
421  for (int i = 0; i < responseBytes.Length; i++)
422  {
423  if (step == 0)
424  {
425  ParseHTTPVer(responseBytes, ref i);
426  step++;
427  }
428  else if (step == 1)
429  {
430  StatusCode = (StatusCodes)ParseResponseCode(responseBytes, ref i);
431  step++;
432  }
433  else if (step == 2)
434  {
435  if(StatusCode != ParseResponseCodeString(responseBytes, ref i))
436  {
437  throw new InvalidStatusCodeException("Status code value and text do not match!");
438  }
439  step++;
440  }
441  else if (step == 3)
442  {
443  if (responseBytes[i] == CRLF[0])
444  {
445  continue;
446  }
447  else if (responseBytes[i] == CRLF[1])
448  {
449  bodyIndex = i;
450  break;
451  }
452  else
453  {
454  headerKey = ParseHeaderKey(responseBytes, ref i);
455  step++;
456  }
457  }
458  else if (step == 4)
459  {
460  if (responseBytes[i] == CRLF[0])
461  {
462  continue;
463  }
464  else if (responseBytes[i] == CRLF[1])
465  {
466  bodyIndex = i;
467  break;
468  }
469  else
470  {
471  headerValue = ParseHeaderValue(responseBytes, ref i);
472  if (headerKey == ResponseCookieHeader)
473  {
474  Cookies.Add(new Cookie(headerValue));
475  }
476  else
477  {
478  headers.Add(headerKey, headerValue);
479  }
480  step--;
481  }
482  }
483  }
484  if (responseBytes.Length - bodyIndex > 1)
485  {
486  /*
487  * If the message contains a body, copy it into a different array
488  * and save it into the HTTP message;
489  */
490  this.Body = new byte[responseBytes.Length - bodyIndex - 1];
491  Array.Copy(responseBytes, bodyIndex, this.Body, 0, this.Body.Length);
492  }
493  return;
494  }
500  public bool ContainsHeader(ResponseHeadersEnum header)
501  {
502  return ContainsHeader(responseHeaders[(int)header]);
503  }
509  public bool ContainsHeader(RequestHeadersEnum header)
510  {
511  return ContainsHeader(requestHeaders[(int)header]);
512  }
518  public bool ContainsHeader(GeneralHeadersEnum header)
519  {
520  return ContainsHeader(generalHeaders[(int)header]);
521  }
527  public bool ContainsHeader(EntityHeadersEnum header)
528  {
529  return ContainsHeader(entityHeaders[(int)header]);
530  }
536  public bool ContainsHeader(string header)
537  {
538  return headers.ContainsKey(header);
539  }
544  public Dictionary<string, string> GetPostForm()
545  {
546  if (ContainsHeader("Content-Type") && Body != null)
547  {
548  if(this["Content-Type"] == "application/x-www-form-urlencoded")
549  {
550  Dictionary<string, string> returnDictionary = new Dictionary<string, string>();
551  /*
552  * Walk through the buffer and get the form contents.
553  * Step 0 - key, 1 - value.
554  */
555  string formKey = string.Empty;
556  int step = 0;
557  for(int i = 0; i < Body.Length; i++)
558  {
559  if(step == 0)
560  {
561  formKey = GetField(Body, ref i);
562  step++;
563  }
564  else
565  {
566  returnDictionary[formKey] = GetValue(Body, ref i);
567  step--;
568  }
569  }
570  return returnDictionary;
571  }
572  else if (this["Content-Type"].Contains("multipart/form-data"))
573  {
574  throw new NotImplementedException("Multipart posting not implemented");
575  }
576  else
577  {
578  return null;
579  }
580  }
581  else
582  {
583  return null;
584  }
585  }
586  #endregion
587  #region Private Methods
588  private MethodEnum GetMethod(string methodString)
589  {
590  int index = Array.IndexOf(methods, methodString.ToUpper());
591  return (MethodEnum)index;
592  }
593 
594  private MethodEnum ParseMethod(byte[] buffer, ref int index)
595  {
596  /*
597  * Get each character one by one. When meeting a SP character, parse the method, clear the buffer
598  * and continue with parsing the next step.
599  */
600  StringBuilder parseBuffer = new StringBuilder();
601  for (; index < buffer.Length; index++)
602  {
603  try
604  {
605  if (buffer[index] == (byte)SP)
606  {
607  string methodString = parseBuffer.ToString();
608  return GetMethod(methodString);
609  }
610  else
611  {
612  parseBuffer.Append((char)buffer[index]);
613  }
614  }
615  catch (Exception e)
616  {
617  throw new MethodInvalidException("Invalid request method. Buffer: " + parseBuffer.ToString(), e);
618  }
619  }
620  throw new MethodInvalidException("Invalid request method. Buffer: " + parseBuffer.ToString());
621  }
622 
623  private string ParseRequestURI(byte[] buffer, ref int index)
624  {
625  /*
626  * Get each character one by one. When meeting a SP character, parse the URI and clear the buffer.
627  */
628  StringBuilder parseBuffer = new StringBuilder();
629  for (; index < buffer.Length; index++)
630  {
631  try
632  {
633  if (buffer[index] == (byte)SP)
634  {
635  return parseBuffer.ToString();
636  }
637  if (buffer[index] == '?')
638  {
639  return parseBuffer.ToString();
640  }
641  else
642  {
643  parseBuffer.Append((char)buffer[index]);
644  }
645  }
646  catch (Exception e)
647  {
648  throw new InvalidRequestURIException("Invalid request URI. Buffer: " + parseBuffer.ToString(), e);
649  }
650  }
651  throw new InvalidRequestURIException("Invalid request URI. Buffer: " + parseBuffer.ToString());
652  }
653 
654  private string ParseRequestQuery(byte[] buffer, ref int index)
655  {
656  /*
657  * Get each character one by one. When meeting a SP character, parse the URI and clear the buffer.
658  */
659  StringBuilder parseBuffer = new StringBuilder();
660  for (; index < buffer.Length; index++)
661  {
662  try
663  {
664  if (buffer[index] == (byte)SP)
665  {
666  return parseBuffer.ToString();
667  }
668  else
669  {
670  parseBuffer.Append((char)buffer[index]);
671  }
672  }
673  catch (Exception e)
674  {
675  throw new InvalidRequestURIException("Invalid request query. Buffer: " + parseBuffer.ToString(), e);
676  }
677  }
678  throw new InvalidRequestURIException("Invalid request query. Buffer: " + parseBuffer.ToString());
679  }
680 
681  private void ParseHTTPVer(byte[] buffer, ref int index)
682  {
683  /*
684  * Get each character one by one. When meeting a LF character, parse the HTTPVer.
685  * Check if the HTTPVer matches the implementation version.
686  * If not, throw an exception.
687  */
688  StringBuilder parseBuffer = new StringBuilder();
689  for (; index < buffer.Length; index++)
690  {
691  try
692  {
693  if (buffer[index] == CRLF[1] || buffer[index] == SP)
694  {
695  string httpVer = parseBuffer.ToString();
696  if (httpVer != HTTPVER)
697  {
698  throw new InvalidHttpVersionException("Invalid HTTP version. Buffer: " + parseBuffer.ToString());
699  }
700  return;
701  }
702  else if(buffer[index] == CRLF[0])
703  {
704  /*
705  * If a termination character is detected, ignore it and wait for the full terminator.
706  */
707  continue;
708  }
709  else
710  {
711  parseBuffer.Append((char)buffer[index]);
712  }
713  }
714  catch (Exception e)
715  {
716  throw new InvalidHttpVersionException("Invalid HTTP version. Buffer: " + parseBuffer.ToString(), e);
717  }
718  }
719  }
720 
721  private string ParseHeaderKey(byte[] buffer, ref int index)
722  {
723  /*
724  * Get each character one by one. When meeting a ':' character, parse the header key.
725  */
726  StringBuilder parseBuffer = new StringBuilder();
727  for (; index < buffer.Length; index++)
728  {
729  try
730  {
731  if (buffer[index] == ':')
732  {
733  return parseBuffer.ToString();
734  }
735  else
736  {
737  parseBuffer.Append((char)buffer[index]);
738  }
739  }
740  catch (Exception e)
741  {
742  throw new InvalidHeaderException("Invalid Header key. Buffer: " + parseBuffer.ToString(), e);
743  }
744  }
745  throw new InvalidHeaderException("Invalid Header key. Buffer: " + parseBuffer.ToString());
746  }
747 
748  private string ParseHeaderValue(byte[] buffer, ref int index)
749  {
750  /*
751  * Get each character one by one. When meeting a LF character, parse the value.
752  */
753  StringBuilder parseBuffer = new StringBuilder();
754  for (; index < buffer.Length; index++)
755  {
756  try
757  {
758  if (buffer[index] == CRLF[1])
759  {
760  return parseBuffer.ToString().Trim();
761  }
762  else if (buffer[index] == CRLF[0])
763  {
764  /*
765  * If a termination character is detected, ignore it and wait for the full terminator.
766  */
767  continue;
768  }
769  else
770  {
771  parseBuffer.Append((char)buffer[index]);
772  }
773  }
774  catch (Exception e)
775  {
776  throw new InvalidHeaderException("Invalid header value. Buffer: " + parseBuffer.ToString(), e);
777  }
778  }
779  throw new InvalidHeaderException("Invalid header value. Buffer: " + parseBuffer.ToString());
780  }
781 
782  private int ParseResponseCode(byte[] buffer, ref int index)
783  {
784  /*
785  * Get each character one by one. When meeting a SP character, parse the value.
786  */
787  StringBuilder parseBuffer = new StringBuilder();
788  for (; index < buffer.Length; index++)
789  {
790  try
791  {
792  if (buffer[index] == SP)
793  {
794  return int.Parse(parseBuffer.ToString());
795  }
796  else
797  {
798  parseBuffer.Append((char)buffer[index]);
799  }
800  }
801  catch (Exception e)
802  {
803  throw new InvalidStatusCodeException("Invalid status code. Buffer: " + parseBuffer.ToString(), e);
804  }
805  }
806  throw new InvalidStatusCodeException("Invalid status code. Buffer: " + parseBuffer.ToString());
807  }
808 
809  private StatusCodes ParseResponseCodeString(byte[] buffer, ref int index)
810  {
811  /*
812  * Get each character one by one. When meeting a LF character, parse the value.
813  */
814  StringBuilder parseBuffer = new StringBuilder();
815  for (; index < buffer.Length; index++)
816  {
817  try
818  {
819  if (buffer[index] == CRLF[1])
820  {
821  return (StatusCodes)Enum.Parse(typeof(StatusCodes), parseBuffer.ToString().Trim());
822  }
823  else if (buffer[index] == CRLF[0])
824  {
825  /*
826  * If a termination character is detected, ignore it and wait for the full terminator.
827  */
828  continue;
829  }
830  else
831  {
832  parseBuffer.Append((char)buffer[index]);
833  }
834  }
835  catch (Exception e)
836  {
837  throw new InvalidStatusCodeException("Invalid status code. Buffer: " + parseBuffer.ToString(), e);
838  }
839  }
840  throw new InvalidHeaderException("Invalid status code. Buffer: " + parseBuffer.ToString());
841  }
842 
843  private string GetField(byte[] buffer, ref int index)
844  {
845  /*
846  * Get each character one by one. When meeting a LF character, parse the value.
847  */
848  StringBuilder parseBuffer = new StringBuilder();
849  for (; index < buffer.Length; index++)
850  {
851  try
852  {
853  if (buffer[index] == '=')
854  {
855  return parseBuffer.ToString().Trim();
856  }
857  else
858  {
859  parseBuffer.Append((char)buffer[index]);
860  }
861  }
862  catch (Exception e)
863  {
864  throw new InvalidPostFormException("Invalid form field. Buffer: " + parseBuffer.ToString(), e);
865  }
866  }
867  throw new InvalidHeaderException("Invalid form field. Buffer: " + parseBuffer.ToString());
868  }
869 
870  private string GetValue(byte[] buffer, ref int index)
871  {
872  /*
873  * Get each character one by one. When meeting a LF character, parse the value.
874  */
875  StringBuilder parseBuffer = new StringBuilder();
876  for (; index < buffer.Length; index++)
877  {
878  try
879  {
880  if (buffer[index] == '&')
881  {
882  return parseBuffer.ToString().Trim();
883  }
884  else
885  {
886  parseBuffer.Append((char)buffer[index]);
887  }
888  }
889  catch (Exception e)
890  {
891  throw new InvalidPostFormException("Invalid form field. Buffer: " + parseBuffer.ToString(), e);
892  }
893  }
894  return parseBuffer.ToString().Trim();
895  }
896  #endregion
897  }
898 }
bool ContainsHeader(GeneralHeadersEnum header)
Check if the message contains a header.
Definition: HttpMessage.cs:518
+
bool ContainsHeader(RequestHeadersEnum header)
Check if the message contains a header.
Definition: HttpMessage.cs:509
+
void AddEntityHeaders(EntityHeadersEnum entityHeader, string value)
Add an entity header to the message.
Definition: HttpMessage.cs:224
-
byte [] GetRequest()
Build the request bytes based on the message contents.
Definition: HttpMessage.cs:225
+ -
Dictionary< string, string > GetPostForm()
Parse the body into a posted from respecting the reference manual.
Definition: HttpMessage.cs:497
+
Dictionary< string, string > GetPostForm()
Parse the body into a posted from respecting the reference manual.
Definition: HttpMessage.cs:544
+
bool ContainsHeader(EntityHeadersEnum header)
Check if the message contains a header.
Definition: HttpMessage.cs:527
+
byte [] BuildRequest()
Build the request bytes based on the message contents.
Definition: HttpMessage.cs:232
+
Exception for invalid response status code.
-
bool ContainsHeader(string header)
Check if the message contains a header.
Definition: HttpMessage.cs:489
+
bool ContainsHeader(string header)
Check if the message contains a header.
Definition: HttpMessage.cs:536
+
byte [] BuildResponse(bool includeContentLengthHeader)
Build the response bytes based on the message contents.
Definition: HttpMessage.cs:372
Exception for invalid post forms.
-
void AddResponseHeader(ResponseHeadersEnum responseHeader, string value)
Add a response header to the message.
Definition: HttpMessage.cs:208
-
bool ContainsHeader(ResponseHeadersEnum header)
Check if the message contains a header.
Definition: HttpMessage.cs:462
-
void AddGeneralHeader(GeneralHeadersEnum header, string value)
Add a general header to the message.
Definition: HttpMessage.cs:190
+
void AddResponseHeader(ResponseHeadersEnum responseHeader, string value)
Add a response header to the message.
Definition: HttpMessage.cs:215
+
bool ContainsHeader(ResponseHeadersEnum header)
Check if the message contains a header.
Definition: HttpMessage.cs:500
+
void AddGeneralHeader(GeneralHeadersEnum header, string value)
Add a general header to the message.
Definition: HttpMessage.cs:197
+
List< Cookie > Cookies
List of cookies.
Definition: HttpMessage.cs:191
Exception in case of Invalid HTTP Version.
-
void AddRequestHeader(RequestHeadersEnum requestHeader, string value)
Add a request header to the message.
Definition: HttpMessage.cs:199
+
void AddRequestHeader(RequestHeadersEnum requestHeader, string value)
Add a request header to the message.
Definition: HttpMessage.cs:206
Exception cause by an invalid request URI.
Definition: Client.cs:14
-
void ParseResponse(byte[] responseBytes)
Parse the received bytes and populate the message contents.
Definition: HttpMessage.cs:375
+
void ParseResponse(byte[] responseBytes)
Parse the received bytes and populate the message contents.
Definition: HttpMessage.cs:406
-
void ParseRequest(byte[] requestBytes)
Parse the received bytes and populate the message contents.
Definition: HttpMessage.cs:247
+
void ParseRequest(byte[] requestBytes)
Parse the received bytes and populate the message contents.
Definition: HttpMessage.cs:267
diff --git a/docs/d5/da4/class_m_t_s_c_1_1_exceptions_1_1_no_data_exception-members.html b/docs/d5/da4/class_m_t_s_c_1_1_exceptions_1_1_no_data_exception-members.html index ffcfdb2..d775280 100644 --- a/docs/d5/da4/class_m_t_s_c_1_1_exceptions_1_1_no_data_exception-members.html +++ b/docs/d5/da4/class_m_t_s_c_1_1_exceptions_1_1_no_data_exception-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d5/dba/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module-members.html b/docs/d5/dba/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module-members.html new file mode 100644 index 0000000..2c97835 --- /dev/null +++ b/docs/d5/dba/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module-members.html @@ -0,0 +1,110 @@ + + + + + + + +MTSC: Member List + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
MTSC +  1.0.5 +
+
Build TCP servers out of modules with handlers for communication, exception and logging.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
MTSC.Common.Http.ServerModules.PostModule Member List
+
+
+ +

This is the complete list of members for MTSC.Common.Http.ServerModules.PostModule, including all inherited members.

+ + +
FormReceived (defined in MTSC.Common.Http.ServerModules.PostModule)MTSC.Common.Http.ServerModules.PostModule
+
+ + + + diff --git a/docs/d5/dc6/_invalid_post_form_exception_8cs_source.html b/docs/d5/dc6/_invalid_post_form_exception_8cs_source.html index 4df757a..b17f976 100644 --- a/docs/d5/dc6/_invalid_post_form_exception_8cs_source.html +++ b/docs/d5/dc6/_invalid_post_form_exception_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d5/dd0/class_m_t_s_c_1_1_exceptions_1_1_invalid_request_u_r_i_exception-members.html b/docs/d5/dd0/class_m_t_s_c_1_1_exceptions_1_1_invalid_request_u_r_i_exception-members.html index a73d8a9..b939c28 100644 --- a/docs/d5/dd0/class_m_t_s_c_1_1_exceptions_1_1_invalid_request_u_r_i_exception-members.html +++ b/docs/d5/dd0/class_m_t_s_c_1_1_exceptions_1_1_invalid_request_u_r_i_exception-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d5/dde/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler.html b/docs/d5/dde/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler.html index b234be0..9f37cd5 100644 --- a/docs/d5/dde/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler.html +++ b/docs/d5/dde/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
@@ -147,7 +147,7 @@ Public Member Functions
Returns
This handler object.
-

Definition at line 33 of file HttpHandler.cs.

+

Definition at line 35 of file HttpHandler.cs.

@@ -185,7 +185,7 @@ Public Member Functions -

Definition at line 42 of file HttpHandler.cs.

+

Definition at line 44 of file HttpHandler.cs.

diff --git a/docs/d5/dde/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler.png b/docs/d5/dde/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler.png index f0eaa1c..bc94e31 100644 Binary files a/docs/d5/dde/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler.png and b/docs/d5/dde/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler.png differ diff --git a/docs/d5/df2/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler-members.html b/docs/d5/df2/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler-members.html index a7cd1a2..d9965dc 100644 --- a/docs/d5/df2/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler-members.html +++ b/docs/d5/df2/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d5/df4/_release_2netstandard2_80_2_m_t_s_c_8_assembly_info_8cs_source.html b/docs/d5/df4/_release_2netstandard2_80_2_m_t_s_c_8_assembly_info_8cs_source.html new file mode 100644 index 0000000..1ed7112 --- /dev/null +++ b/docs/d5/df4/_release_2netstandard2_80_2_m_t_s_c_8_assembly_info_8cs_source.html @@ -0,0 +1,107 @@ + + + + + + + +MTSC: D:/Projects/MTSC/MTSC/obj/Release/netstandard2.0/MTSC.AssemblyInfo.cs Source File + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
MTSC +  1.0.5 +
+
Build TCP servers out of modules with handlers for communication, exception and logging.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
MTSC.AssemblyInfo.cs
+
+
+
1 //------------------------------------------------------------------------------
2 // <auto-generated>
3 // This code was generated by a tool.
4 // Runtime Version:4.0.30319.42000
5 //
6 // Changes to this file may cause incorrect behavior and will be lost if
7 // the code is regenerated.
8 // </auto-generated>
9 //------------------------------------------------------------------------------
10 
11 using System;
12 using System.Reflection;
13 
14 [assembly: System.Reflection.AssemblyCompanyAttribute("Alexandru-Victor Macocian")]
15 [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
16 [assembly: System.Reflection.AssemblyDescriptionAttribute("Modular TCP Server and Client")]
17 [assembly: System.Reflection.AssemblyFileVersionAttribute("0.1.0.5")]
18 [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.5")]
19 [assembly: System.Reflection.AssemblyProductAttribute("MTSC")]
20 [assembly: System.Reflection.AssemblyTitleAttribute("MTSC")]
21 [assembly: System.Reflection.AssemblyVersionAttribute("0.1.0.5")]
22 
23 // Generated by the MSBuild WriteCodeFragment class.
24 
+
+ + + + diff --git a/docs/d6/d05/class_m_t_s_c_1_1_logging_1_1_console_logger-members.html b/docs/d6/d05/class_m_t_s_c_1_1_logging_1_1_console_logger-members.html index adfbc3f..d588f69 100644 --- a/docs/d6/d05/class_m_t_s_c_1_1_logging_1_1_console_logger-members.html +++ b/docs/d6/d05/class_m_t_s_c_1_1_logging_1_1_console_logger-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d6/d77/class_m_t_s_c_1_1_exceptions_1_1_invalid_websocket_format_exception.html b/docs/d6/d77/class_m_t_s_c_1_1_exceptions_1_1_invalid_websocket_format_exception.html index 83c2e28..d6d673a 100644 --- a/docs/d6/d77/class_m_t_s_c_1_1_exceptions_1_1_invalid_websocket_format_exception.html +++ b/docs/d6/d77/class_m_t_s_c_1_1_exceptions_1_1_invalid_websocket_format_exception.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d6/d77/class_m_t_s_c_1_1_exceptions_1_1_invalid_websocket_format_exception.png b/docs/d6/d77/class_m_t_s_c_1_1_exceptions_1_1_invalid_websocket_format_exception.png index dc2ff57..69fa2c0 100644 Binary files a/docs/d6/d77/class_m_t_s_c_1_1_exceptions_1_1_invalid_websocket_format_exception.png and b/docs/d6/d77/class_m_t_s_c_1_1_exceptions_1_1_invalid_websocket_format_exception.png differ diff --git a/docs/d6/d98/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_hello_world_module.html b/docs/d6/d98/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_hello_world_module.html index 135ee37..ab2f024 100644 --- a/docs/d6/d98/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_hello_world_module.html +++ b/docs/d6/d98/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_hello_world_module.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d6/d98/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_hello_world_module.png b/docs/d6/d98/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_hello_world_module.png index ae12b9e..3cc60da 100644 Binary files a/docs/d6/d98/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_hello_world_module.png and b/docs/d6/d98/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_hello_world_module.png differ diff --git a/docs/d6/dab/class_m_t_s_c_1_1_exceptions_1_1_invalid_request_u_r_i_exception.html b/docs/d6/dab/class_m_t_s_c_1_1_exceptions_1_1_invalid_request_u_r_i_exception.html index 789c719..2cef5a6 100644 --- a/docs/d6/dab/class_m_t_s_c_1_1_exceptions_1_1_invalid_request_u_r_i_exception.html +++ b/docs/d6/dab/class_m_t_s_c_1_1_exceptions_1_1_invalid_request_u_r_i_exception.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d6/dab/class_m_t_s_c_1_1_exceptions_1_1_invalid_request_u_r_i_exception.png b/docs/d6/dab/class_m_t_s_c_1_1_exceptions_1_1_invalid_request_u_r_i_exception.png index dad3910..724a126 100644 Binary files a/docs/d6/dab/class_m_t_s_c_1_1_exceptions_1_1_invalid_request_u_r_i_exception.png and b/docs/d6/dab/class_m_t_s_c_1_1_exceptions_1_1_invalid_request_u_r_i_exception.png differ diff --git a/docs/d6/dcb/interface_m_t_s_c_1_1_logging_1_1_i_logger.html b/docs/d6/dcb/interface_m_t_s_c_1_1_logging_1_1_i_logger.html index 4283b68..81fab01 100644 --- a/docs/d6/dcb/interface_m_t_s_c_1_1_logging_1_1_i_logger.html +++ b/docs/d6/dcb/interface_m_t_s_c_1_1_logging_1_1_i_logger.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d6/dcb/interface_m_t_s_c_1_1_logging_1_1_i_logger.png b/docs/d6/dcb/interface_m_t_s_c_1_1_logging_1_1_i_logger.png index f68b5a1..4a296cb 100644 Binary files a/docs/d6/dcb/interface_m_t_s_c_1_1_logging_1_1_i_logger.png and b/docs/d6/dcb/interface_m_t_s_c_1_1_logging_1_1_i_logger.png differ diff --git a/docs/d6/dda/_no_data_exception_8cs_source.html b/docs/d6/dda/_no_data_exception_8cs_source.html index 261e5e1..1e3a5cd 100644 --- a/docs/d6/dda/_no_data_exception_8cs_source.html +++ b/docs/d6/dda/_no_data_exception_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d6/de7/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie-members.html b/docs/d6/de7/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie-members.html new file mode 100644 index 0000000..015f4a5 --- /dev/null +++ b/docs/d6/de7/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie-members.html @@ -0,0 +1,116 @@ + + + + + + + +MTSC: Member List + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
MTSC +  1.0.5 +
+
Build TCP servers out of modules with handlers for communication, exception and logging.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
MTSC.Common.Http.Cookie Member List
+
+
+ +

This is the complete list of members for MTSC.Common.Http.Cookie, including all inherited members.

+ + + + + + + + +
AttributesMTSC.Common.Http.Cookie
BuildCookieBytes()MTSC.Common.Http.Cookie
BuildCookieString()MTSC.Common.Http.Cookie
Cookie(string key, string value)MTSC.Common.Http.Cookie
Cookie(string cookieString)MTSC.Common.Http.Cookie
KeyMTSC.Common.Http.Cookie
ValueMTSC.Common.Http.Cookie
+
+ + + + diff --git a/docs/d7/d00/_server_2_handlers_2_encryption_handler_8cs_source.html b/docs/d7/d00/_server_2_handlers_2_encryption_handler_8cs_source.html index 6c98d71..6af6fb3 100644 --- a/docs/d7/d00/_server_2_handlers_2_encryption_handler_8cs_source.html +++ b/docs/d7/d00/_server_2_handlers_2_encryption_handler_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d7/d13/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module__inherit__graph.dot b/docs/d7/d13/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module__inherit__graph.dot new file mode 100644 index 0000000..bee4733 --- /dev/null +++ b/docs/d7/d13/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module__inherit__graph.dot @@ -0,0 +1,9 @@ +digraph "MTSC.Common.Http.ServerModules.PostModule" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node0 [label="MTSC.Common.Http.ServerModules.\lPostModule",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 [label="IHttpModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d8/da0/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module.html",tooltip="Interface for Http modules used by the server http handler."]; +} diff --git a/docs/d7/d13/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module__inherit__graph.md5 b/docs/d7/d13/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module__inherit__graph.md5 new file mode 100644 index 0000000..6f50ac5 --- /dev/null +++ b/docs/d7/d13/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module__inherit__graph.md5 @@ -0,0 +1 @@ +1cdaf9c45eb285cd205164597622206f \ No newline at end of file diff --git a/docs/d7/d18/class_m_t_s_c_1_1_exceptions_1_1_invalid_first_byte_exception.html b/docs/d7/d18/class_m_t_s_c_1_1_exceptions_1_1_invalid_first_byte_exception.html index d00863a..2bd0443 100644 --- a/docs/d7/d18/class_m_t_s_c_1_1_exceptions_1_1_invalid_first_byte_exception.html +++ b/docs/d7/d18/class_m_t_s_c_1_1_exceptions_1_1_invalid_first_byte_exception.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d7/d18/class_m_t_s_c_1_1_exceptions_1_1_invalid_first_byte_exception.png b/docs/d7/d18/class_m_t_s_c_1_1_exceptions_1_1_invalid_first_byte_exception.png index 840e4de..b56a48d 100644 Binary files a/docs/d7/d18/class_m_t_s_c_1_1_exceptions_1_1_invalid_first_byte_exception.png and b/docs/d7/d18/class_m_t_s_c_1_1_exceptions_1_1_invalid_first_byte_exception.png differ diff --git a/docs/d7/d42/_debug_2net48_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html b/docs/d7/d42/_debug_2net48_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html index 04fe938..1fd744f 100644 --- a/docs/d7/d42/_debug_2net48_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html +++ b/docs/d7/d42/_debug_2net48_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d7/d60/_client_modules_2_i_websocket_module_8cs_source.html b/docs/d7/d60/_client_modules_2_i_websocket_module_8cs_source.html index 52d9b09..4419c6e 100644 --- a/docs/d7/d60/_client_modules_2_i_websocket_module_8cs_source.html +++ b/docs/d7/d60/_client_modules_2_i_websocket_module_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d7/da6/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_echo_module-members.html b/docs/d7/da6/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_echo_module-members.html index dff2597..8ffa4fa 100644 --- a/docs/d7/da6/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_echo_module-members.html +++ b/docs/d7/da6/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_echo_module-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d7/db9/_release_2netcoreapp2_81_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html b/docs/d7/db9/_release_2netcoreapp2_81_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html index 92e9638..dc44e65 100644 --- a/docs/d7/db9/_release_2netcoreapp2_81_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html +++ b/docs/d7/db9/_release_2netcoreapp2_81_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d7/dcd/namespace_m_t_s_c.html b/docs/d7/dcd/namespace_m_t_s_c.html index 7d1b138..908d4a4 100644 --- a/docs/d7/dcd/namespace_m_t_s_c.html +++ b/docs/d7/dcd/namespace_m_t_s_c.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d8/d00/_release_2netcoreapp2_81_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html b/docs/d8/d00/_release_2netcoreapp2_81_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html index 0fc6aa8..cde356f 100644 --- a/docs/d8/d00/_release_2netcoreapp2_81_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html +++ b/docs/d8/d00/_release_2netcoreapp2_81_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d8/d00/_server_2_handlers_2_websocket_handler_8cs_source.html b/docs/d8/d00/_server_2_handlers_2_websocket_handler_8cs_source.html index 4775f4f..60c9365 100644 --- a/docs/d8/d00/_server_2_handlers_2_websocket_handler_8cs_source.html +++ b/docs/d8/d00/_server_2_handlers_2_websocket_handler_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
@@ -92,8 +92,7 @@ $(document).ready(function(){initNavTree('d8/d00/_server_2_handlers_2_websocket_
WebsocketHandler.cs
-
1 using MTSC.Common.Http;
4 using System;
5 using System.Collections.Concurrent;
6 using System.Collections.Generic;
7 using System.Security.Cryptography;
8 using System.Text;
9 
10 namespace MTSC.Server.Handlers
11 {
12  public class WebsocketHandler : IHandler
13  {
14  private static string WebsocketHeaderAcceptKey = "Sec-WebSocket-Accept";
15  private static string WebsocketHeaderKey = "Sec-WebSocket-Key";
16  private static string WebsocketProtocolKey = "Sec-WebSocket-Protocol";
17  private static string WebsocketProtocolVersionKey = "Sec-WebSocket-Version";
18  private static string GlobalUniqueIdentifier = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
19  private static SHA1 sha1Provider = SHA1.Create();
20  private static RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
21  public enum SocketState
22  {
23  Initial,
24  Handshaking,
25  Established,
26  Closed
27  }
28  #region Fields
29  public ConcurrentDictionary<ClientData, SocketState> webSockets = new ConcurrentDictionary<ClientData, SocketState>();
30  ConcurrentQueue<Tuple<ClientData,WebsocketMessage>> messageQueue = new ConcurrentQueue<Tuple<ClientData, WebsocketMessage>>();
31  List<IWebsocketModule> websocketModules = new List<IWebsocketModule>();
32  #endregion
33  #region Public Methods
40  {
41  this.websocketModules.Add(module);
42  return this;
43  }
48  public void QueueMessage(ClientData client, byte[] message)
49  {
50  WebsocketMessage sendMessage = new WebsocketMessage();
51  sendMessage.Data = message;
52  sendMessage.FIN = true;
53  rng.GetBytes(sendMessage.Mask);
54  sendMessage.Opcode = WebsocketMessage.Opcodes.Text;
55  messageQueue.Enqueue(new Tuple<ClientData, WebsocketMessage>(client, sendMessage));
56  }
62  public void QueueMessage(ClientData client, WebsocketMessage message)
63  {
64  messageQueue.Enqueue(new Tuple<ClientData, WebsocketMessage>(client, message));
65  }
70  public void CloseConnection(ClientData client)
71  {
72  WebsocketMessage websocketMessage = new WebsocketMessage();
73  websocketMessage.FIN = true;
74  websocketMessage.Opcode = WebsocketMessage.Opcodes.Close;
75  websocketMessage.Masked = false;
76  QueueMessage(client, websocketMessage);
77  }
78  #endregion
79  #region Handler Implementation
80  void IHandler.ClientRemoved(Server server, ClientData client)
81  {
82  SocketState state = SocketState.Initial;
83  while(!webSockets.TryRemove(client, out state));
84  }
85 
86  bool IHandler.HandleClient(Server server, ClientData client)
87  {
88  webSockets[client] = SocketState.Initial;
89  return false;
90  }
91 
92  bool IHandler.HandleReceivedMessage(Server server, ClientData client, Message message)
93  {
94  if (webSockets[client] == SocketState.Initial)
95  {
96  HttpMessage request = new HttpMessage();
97  request.ParseRequest(message.MessageBytes);
98  if(request.Method == HttpMessage.MethodEnum.Get && request.ContainsHeader(HttpMessage.GeneralHeadersEnum.Connection) &&
99  request[HttpMessage.GeneralHeadersEnum.Connection].ToLower() == "upgrade" && request.ContainsHeader(WebsocketProtocolVersionKey) &&
100  request[WebsocketProtocolVersionKey] == "13")
101  {
102  /*
103  * Prepare the handshake string.
104  */
105  string base64Key = request[WebsocketHeaderKey];
106  base64Key = base64Key.Trim();
107  string handshakeKey = base64Key + GlobalUniqueIdentifier;
108  string returnBase64Key = Convert.ToBase64String(sha1Provider.ComputeHash(Encoding.UTF8.GetBytes(handshakeKey)));
109 
110  /*
111  * Prepare the response.
112  */
113  HttpMessage response = new HttpMessage();
114  response.StatusCode = HttpMessage.StatusCodes.SwitchingProtocols;
115  response[HttpMessage.GeneralHeadersEnum.Upgrade] = "websocket";
116  response[HttpMessage.GeneralHeadersEnum.Connection] = "Upgrade";
117  response[WebsocketHeaderAcceptKey] = returnBase64Key;
118  server.QueueMessage(client, response.GetResponse(true));
119  webSockets[client] = SocketState.Established;
120  server.LogDebug("Websocket initialized " + client.TcpClient.Client.RemoteEndPoint.ToString());
121  foreach (IWebsocketModule websocketModule in websocketModules)
122  {
123  websocketModule.ConnectionInitialized(server, this, client);
124  }
125  return true;
126  }
127  }
128  else if(webSockets[client] == SocketState.Established)
129  {
130  WebsocketMessage receivedMessage = new WebsocketMessage(message.MessageBytes);
131  if (receivedMessage.Opcode == WebsocketMessage.Opcodes.Close)
132  {
133  foreach (IWebsocketModule websocketModule in websocketModules)
134  {
135  websocketModule.ConnectionClosed(server, this, client);
136  }
137  client.ToBeRemoved = true;
138  SocketState outSocketState = SocketState.Closed;
139  while(!webSockets.TryRemove(client, out outSocketState));
140  }
141  else
142  {
143  foreach (IWebsocketModule websocketModule in websocketModules)
144  {
145  if (websocketModule.HandleReceivedMessage(server, this, client, receivedMessage))
146  {
147  break;
148  }
149  }
150  }
151  return true;
152  }
153  return false;
154  }
155 
156  bool IHandler.HandleSendMessage(Server server, ClientData client, ref Message message)
157  {
158  return false;
159  }
160 
161  bool IHandler.PreHandleReceivedMessage(Server server, ClientData client, ref Message message)
162  {
163  return false;
164  }
165 
166  void IHandler.Tick(Server server)
167  {
168  while (messageQueue.Count > 0)
169  {
170  Tuple<ClientData, WebsocketMessage> tuple = null;
171  if (messageQueue.TryDequeue(out tuple))
172  {
173  server.QueueMessage(tuple.Item1, tuple.Item2.GetMessageBytes());
174  if(tuple.Item2.Opcode == WebsocketMessage.Opcodes.Close)
175  {
176  foreach (IWebsocketModule websocketModule in websocketModules)
177  {
178  websocketModule.ConnectionClosed(server, this, tuple.Item1);
179  }
180  tuple.Item1.ToBeRemoved = true;
181  SocketState outSocketState = SocketState.Closed;
182  while(!webSockets.TryRemove(tuple.Item1, out outSocketState));
183  }
184  }
185  }
186  }
187  #endregion
188  }
189 }
Interface for communication handlers.
Definition: IHandler.cs:11
-
byte [] GetResponse(bool includeContentLengthHeader)
Build the response bytes based on the message contents.
Definition: HttpMessage.cs:345
+
1 using MTSC.Common.Http;
4 using System;
5 using System.Collections.Concurrent;
6 using System.Collections.Generic;
7 using System.Security.Cryptography;
8 using System.Text;
9 
10 namespace MTSC.Server.Handlers
11 {
12  public class WebsocketHandler : IHandler
13  {
14  private static string WebsocketHeaderAcceptKey = "Sec-WebSocket-Accept";
15  private static string WebsocketHeaderKey = "Sec-WebSocket-Key";
16  private static string WebsocketProtocolKey = "Sec-WebSocket-Protocol";
17  private static string WebsocketProtocolVersionKey = "Sec-WebSocket-Version";
18  private static string GlobalUniqueIdentifier = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
19  private static SHA1 sha1Provider = SHA1.Create();
20  private static RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
21  public enum SocketState
22  {
23  Initial,
24  Handshaking,
25  Established,
26  Closed
27  }
28  #region Fields
29  public ConcurrentDictionary<ClientData, SocketState> webSockets = new ConcurrentDictionary<ClientData, SocketState>();
30  ConcurrentQueue<Tuple<ClientData,WebsocketMessage>> messageQueue = new ConcurrentQueue<Tuple<ClientData, WebsocketMessage>>();
31  List<IWebsocketModule> websocketModules = new List<IWebsocketModule>();
32  #endregion
33  #region Public Methods
40  {
41  this.websocketModules.Add(module);
42  return this;
43  }
48  public void QueueMessage(ClientData client, byte[] message)
49  {
50  WebsocketMessage sendMessage = new WebsocketMessage();
51  sendMessage.Data = message;
52  sendMessage.FIN = true;
53  rng.GetBytes(sendMessage.Mask);
54  sendMessage.Opcode = WebsocketMessage.Opcodes.Text;
55  messageQueue.Enqueue(new Tuple<ClientData, WebsocketMessage>(client, sendMessage));
56  }
62  public void QueueMessage(ClientData client, WebsocketMessage message)
63  {
64  messageQueue.Enqueue(new Tuple<ClientData, WebsocketMessage>(client, message));
65  }
70  public void CloseConnection(ClientData client)
71  {
72  WebsocketMessage websocketMessage = new WebsocketMessage();
73  websocketMessage.FIN = true;
74  websocketMessage.Opcode = WebsocketMessage.Opcodes.Close;
75  websocketMessage.Masked = false;
76  QueueMessage(client, websocketMessage);
77  }
78  #endregion
79  #region Handler Implementation
80  void IHandler.ClientRemoved(Server server, ClientData client)
81  {
82  SocketState state = SocketState.Initial;
83  while (webSockets.ContainsKey(client))
84  {
85  webSockets.TryRemove(client, out state);
86  }
87  }
88 
89  bool IHandler.HandleClient(Server server, ClientData client)
90  {
91  webSockets[client] = SocketState.Initial;
92  return false;
93  }
94 
95  bool IHandler.HandleReceivedMessage(Server server, ClientData client, Message message)
96  {
97  if (webSockets[client] == SocketState.Initial)
98  {
99  HttpMessage request = new HttpMessage();
100  request.ParseRequest(message.MessageBytes);
101  if(request.Method == HttpMessage.MethodEnum.Get && request.ContainsHeader(HttpMessage.GeneralHeadersEnum.Connection) &&
102  request[HttpMessage.GeneralHeadersEnum.Connection].ToLower() == "upgrade" && request.ContainsHeader(WebsocketProtocolVersionKey) &&
103  request[WebsocketProtocolVersionKey] == "13")
104  {
105  /*
106  * Prepare the handshake string.
107  */
108  string base64Key = request[WebsocketHeaderKey];
109  base64Key = base64Key.Trim();
110  string handshakeKey = base64Key + GlobalUniqueIdentifier;
111  string returnBase64Key = Convert.ToBase64String(sha1Provider.ComputeHash(Encoding.UTF8.GetBytes(handshakeKey)));
112 
113  /*
114  * Prepare the response.
115  */
116  HttpMessage response = new HttpMessage();
117  response.StatusCode = HttpMessage.StatusCodes.SwitchingProtocols;
118  response[HttpMessage.GeneralHeadersEnum.Upgrade] = "websocket";
119  response[HttpMessage.GeneralHeadersEnum.Connection] = "Upgrade";
120  response[WebsocketHeaderAcceptKey] = returnBase64Key;
121  server.QueueMessage(client, response.BuildResponse(true));
122  webSockets[client] = SocketState.Established;
123  server.LogDebug("Websocket initialized " + client.TcpClient.Client.RemoteEndPoint.ToString());
124  foreach (IWebsocketModule websocketModule in websocketModules)
125  {
126  websocketModule.ConnectionInitialized(server, this, client);
127  }
128  return true;
129  }
130  }
131  else if(webSockets[client] == SocketState.Established)
132  {
133  WebsocketMessage receivedMessage = new WebsocketMessage(message.MessageBytes);
134  if (receivedMessage.Opcode == WebsocketMessage.Opcodes.Close)
135  {
136  foreach (IWebsocketModule websocketModule in websocketModules)
137  {
138  websocketModule.ConnectionClosed(server, this, client);
139  }
140  client.ToBeRemoved = true;
141  SocketState outSocketState = SocketState.Closed;
142  while (webSockets.ContainsKey(client))
143  {
144  webSockets.TryRemove(client, out outSocketState);
145  }
146  }
147  else
148  {
149  foreach (IWebsocketModule websocketModule in websocketModules)
150  {
151  if (websocketModule.HandleReceivedMessage(server, this, client, receivedMessage))
152  {
153  break;
154  }
155  }
156  }
157  return true;
158  }
159  return false;
160  }
161 
162  bool IHandler.HandleSendMessage(Server server, ClientData client, ref Message message)
163  {
164  return false;
165  }
166 
167  bool IHandler.PreHandleReceivedMessage(Server server, ClientData client, ref Message message)
168  {
169  return false;
170  }
171 
172  void IHandler.Tick(Server server)
173  {
174  while (messageQueue.Count > 0)
175  {
176  Tuple<ClientData, WebsocketMessage> tuple = null;
177  if (messageQueue.TryDequeue(out tuple))
178  {
179  server.QueueMessage(tuple.Item1, tuple.Item2.GetMessageBytes());
180  if(tuple.Item2.Opcode == WebsocketMessage.Opcodes.Close)
181  {
182  foreach (IWebsocketModule websocketModule in websocketModules)
183  {
184  websocketModule.ConnectionClosed(server, this, tuple.Item1);
185  }
186  tuple.Item1.ToBeRemoved = true;
187  SocketState outSocketState = SocketState.Closed;
188  while (webSockets.ContainsKey(tuple.Item1))
189  {
190  webSockets.TryRemove(tuple.Item1, out outSocketState);
191  }
192  }
193  }
194  }
195  }
196  #endregion
197  }
198 }
Interface for communication handlers.
Definition: IHandler.cs:11
bool HandleReceivedMessage(Server.Server server, WebsocketHandler handler, ClientData client, WebsocketMessage receivedMessage)
Handle a received message.
@@ -102,7 +101,6 @@ $(document).ready(function(){initNavTree('d8/d00/_server_2_handlers_2_websocket_
WebsocketHandler AddWebsocketHandler(IWebsocketModule module)
Add a webSocket module onto the server.
void ConnectionClosed(Server.Server server, WebsocketHandler handler, ClientData client)
Called when a connection has been closed.
Structure containing client information.
Definition: Server.cs:402
-
Class containing the bytes of a websocket received message.
@@ -111,7 +109,8 @@ $(document).ready(function(){initNavTree('d8/d00/_server_2_handlers_2_websocket_
Basic server class to handle TCP connections.
Definition: Server.cs:20
-
bool ContainsHeader(ResponseHeadersEnum header)
Check if the message contains a header.
Definition: HttpMessage.cs:462
+
byte [] BuildResponse(bool includeContentLengthHeader)
Build the response bytes based on the message contents.
Definition: HttpMessage.cs:372
+
bool ContainsHeader(ResponseHeadersEnum header)
Check if the message contains a header.
Definition: HttpMessage.cs:500
void CloseConnection(ClientData client)
Signals that the connetion is closing.
@@ -120,7 +119,7 @@ $(document).ready(function(){initNavTree('d8/d00/_server_2_handlers_2_websocket_ -
void ParseRequest(byte[] requestBytes)
Parse the received bytes and populate the message contents.
Definition: HttpMessage.cs:247
+
void ParseRequest(byte[] requestBytes)
Parse the received bytes and populate the message contents.
Definition: HttpMessage.cs:267
void ConnectionInitialized(Server.Server server, WebsocketHandler handler, ClientData client)
Called when a connection has been initialized.
diff --git a/docs/d8/d17/_invalid_request_u_r_i_exception_8cs_source.html b/docs/d8/d17/_invalid_request_u_r_i_exception_8cs_source.html index af2ecad..ac68c07 100644 --- a/docs/d8/d17/_invalid_request_u_r_i_exception_8cs_source.html +++ b/docs/d8/d17/_invalid_request_u_r_i_exception_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d8/d3e/_client_2_handlers_2_broadcast_handler_8cs_source.html b/docs/d8/d3e/_client_2_handlers_2_broadcast_handler_8cs_source.html index 17c9cf2..15a98f4 100644 --- a/docs/d8/d3e/_client_2_handlers_2_broadcast_handler_8cs_source.html +++ b/docs/d8/d3e/_client_2_handlers_2_broadcast_handler_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d8/d56/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module.html b/docs/d8/d56/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module.html index 90174db..0e9761b 100644 --- a/docs/d8/d56/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module.html +++ b/docs/d8/d56/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d8/d56/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module.png b/docs/d8/d56/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module.png index 8f10d36..ed6f942 100644 Binary files a/docs/d8/d56/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module.png and b/docs/d8/d56/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module.png differ diff --git a/docs/d8/d5c/interface_m_t_s_c_1_1_exceptions_1_1_i_exception_handler.html b/docs/d8/d5c/interface_m_t_s_c_1_1_exceptions_1_1_i_exception_handler.html index 49572d4..7ca40ab 100644 --- a/docs/d8/d5c/interface_m_t_s_c_1_1_exceptions_1_1_i_exception_handler.html +++ b/docs/d8/d5c/interface_m_t_s_c_1_1_exceptions_1_1_i_exception_handler.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d8/d5c/interface_m_t_s_c_1_1_exceptions_1_1_i_exception_handler.png b/docs/d8/d5c/interface_m_t_s_c_1_1_exceptions_1_1_i_exception_handler.png index 4e8e7f6..e691b9b 100644 Binary files a/docs/d8/d5c/interface_m_t_s_c_1_1_exceptions_1_1_i_exception_handler.png and b/docs/d8/d5c/interface_m_t_s_c_1_1_exceptions_1_1_i_exception_handler.png differ diff --git a/docs/d8/d77/_release_2net45_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html b/docs/d8/d77/_release_2net45_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html index 802f302..006499f 100644 --- a/docs/d8/d77/_release_2net45_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html +++ b/docs/d8/d77/_release_2net45_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d8/d8a/_release_2net48_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html b/docs/d8/d8a/_release_2net48_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html index 04f87da..2730d5f 100644 --- a/docs/d8/d8a/_release_2net48_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html +++ b/docs/d8/d8a/_release_2net48_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/d8/d92/_debug_2net48_2_m_t_s_c_8_assembly_info_8cs_source.html b/docs/d8/d92/_debug_2net48_2_m_t_s_c_8_assembly_info_8cs_source.html index 0016971..09a77f3 100644 --- a/docs/d8/d92/_debug_2net48_2_m_t_s_c_8_assembly_info_8cs_source.html +++ b/docs/d8/d92/_debug_2net48_2_m_t_s_c_8_assembly_info_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
@@ -92,7 +92,7 @@ $(document).ready(function(){initNavTree('d8/d92/_debug_2net48_2_m_t_s_c_8_assem
MTSC.AssemblyInfo.cs
-
1 //------------------------------------------------------------------------------
2 // <auto-generated>
3 // This code was generated by a tool.
4 // Runtime Version:4.0.30319.42000
5 //
6 // Changes to this file may cause incorrect behavior and will be lost if
7 // the code is regenerated.
8 // </auto-generated>
9 //------------------------------------------------------------------------------
10 
11 using System;
12 using System.Reflection;
13 
14 [assembly: System.Reflection.AssemblyCompanyAttribute("Alexandru-Victor Macocian")]
15 [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
16 [assembly: System.Reflection.AssemblyDescriptionAttribute("Modular TCP Server and Client")]
17 [assembly: System.Reflection.AssemblyFileVersionAttribute("0.1.0.0")]
18 [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
19 [assembly: System.Reflection.AssemblyProductAttribute("MTSC")]
20 [assembly: System.Reflection.AssemblyTitleAttribute("MTSC")]
21 [assembly: System.Reflection.AssemblyVersionAttribute("0.1.0.0")]
22 
23 // Generated by the MSBuild WriteCodeFragment class.
24 
+
1 //------------------------------------------------------------------------------
2 // <auto-generated>
3 // This code was generated by a tool.
4 // Runtime Version:4.0.30319.42000
5 //
6 // Changes to this file may cause incorrect behavior and will be lost if
7 // the code is regenerated.
8 // </auto-generated>
9 //------------------------------------------------------------------------------
10 
11 using System;
12 using System.Reflection;
13 
14 [assembly: System.Reflection.AssemblyCompanyAttribute("Alexandru-Victor Macocian")]
15 [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
16 [assembly: System.Reflection.AssemblyDescriptionAttribute("Modular TCP Server and Client")]
17 [assembly: System.Reflection.AssemblyFileVersionAttribute("0.1.0.5")]
18 [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.5")]
19 [assembly: System.Reflection.AssemblyProductAttribute("MTSC")]
20 [assembly: System.Reflection.AssemblyTitleAttribute("MTSC")]
21 [assembly: System.Reflection.AssemblyVersionAttribute("0.1.0.5")]
22 
23 // Generated by the MSBuild WriteCodeFragment class.
24 
MTSC.Common.Http.ServerModules.FileServerModule MTSC.Common.Http.ServerModules.HelloWorldModule MTSC.Common.Http.ServerModules.Http404Module +MTSC.Common.Http.ServerModules.PostModule diff --git a/docs/d8/da0/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module.png b/docs/d8/da0/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module.png index 962fc6e..fe7588c 100644 Binary files a/docs/d8/da0/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module.png and b/docs/d8/da0/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module.png differ diff --git a/docs/d8/dba/_server_8cs_source.html b/docs/d8/dba/_server_8cs_source.html index d91b350..b99493a 100644 --- a/docs/d8/dba/_server_8cs_source.html +++ b/docs/d8/dba/_server_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/d9/d13/_client_2_handlers_2_http_handler_8cs_source.html b/docs/d9/d13/_client_2_handlers_2_http_handler_8cs_source.html index b5df21a..b482be4 100644 --- a/docs/d9/d13/_client_2_handlers_2_http_handler_8cs_source.html +++ b/docs/d9/d13/_client_2_handlers_2_http_handler_8cs_source.html @@ -31,7 +31,7 @@ @@ -92,11 +92,11 @@ $(document).ready(function(){initNavTree('d9/d13/_client_2_handlers_2_http_handl
HttpHandler.cs
-
1 using MTSC.Common.Http;
3 using System;
4 using System.Collections.Generic;
5 using System.Net.Sockets;
6 using System.Text;
7 
8 namespace MTSC.Client.Handlers
9 {
13  public class HttpHandler : IHandler
14  {
15  #region Fields
16  List<IHttpModule> httpModules = new List<IHttpModule>();
17  #endregion
18  #region Constructors
19  public HttpHandler()
20  {
21 
22  }
23  #endregion
24  #region Public Methods
25  public void SendRequest(Client client, HttpMessage request)
30  {
31  client.QueueMessage(request.GetRequest());
32  }
38  public HttpHandler AddModule(IHttpModule httpModule)
39  {
40  httpModules.Add(httpModule);
41  return this;
42  }
43  #endregion
44  #region Interface Implementation
45  void IHandler.Disconnected(Client client)
50  {
51 
52  }
59  bool IHandler.HandleReceivedMessage(Client client, Message message)
60  {
61  HttpMessage httpMessage = new HttpMessage();
62  httpMessage.ParseResponse(message.MessageBytes);
63  foreach(IHttpModule httpModule in httpModules)
64  {
65  if (httpModule.HandleResponse(this, httpMessage))
66  {
67  break;
68  }
69  }
70  return false;
71  }
78  bool IHandler.HandleSendMessage(Client client, ref Message message)
79  {
80  return false;
81  }
87  bool IHandler.InitializeConnection(Client client)
88  {
89  return true;
90  }
97  bool IHandler.PreHandleReceivedMessage(Client client, ref Message message)
98  {
99  return false;
100  }
105  void IHandler.Tick(Client tcpClient)
106  {
107 
108  }
109  #endregion
110  }
111 }
bool HandleResponse(IHandler handler, HttpMessage response)
Handle a response received from the server.
+
1 using MTSC.Common.Http;
3 using System;
4 using System.Collections.Generic;
5 using System.Net.Sockets;
6 using System.Text;
7 
8 namespace MTSC.Client.Handlers
9 {
13  public class HttpHandler : IHandler
14  {
15  #region Fields
16  List<IHttpModule> httpModules = new List<IHttpModule>();
17  #endregion
18  #region Constructors
19  public HttpHandler()
20  {
21 
22  }
23  #endregion
24  #region Public Methods
25  public void SendRequest(Client client, HttpMessage request)
30  {
31  client.QueueMessage(request.BuildRequest());
32  }
38  public HttpHandler AddModule(IHttpModule httpModule)
39  {
40  httpModules.Add(httpModule);
41  return this;
42  }
43  #endregion
44  #region Interface Implementation
45  void IHandler.Disconnected(Client client)
50  {
51 
52  }
59  bool IHandler.HandleReceivedMessage(Client client, Message message)
60  {
61  HttpMessage httpMessage = new HttpMessage();
62  httpMessage.ParseResponse(message.MessageBytes);
63  foreach(IHttpModule httpModule in httpModules)
64  {
65  if (httpModule.HandleResponse(this, httpMessage))
66  {
67  break;
68  }
69  }
70  return false;
71  }
78  bool IHandler.HandleSendMessage(Client client, ref Message message)
79  {
80  return false;
81  }
87  bool IHandler.InitializeConnection(Client client)
88  {
89  return true;
90  }
97  bool IHandler.PreHandleReceivedMessage(Client client, ref Message message)
98  {
99  return false;
100  }
105  void IHandler.Tick(Client tcpClient)
106  {
107 
108  }
109  #endregion
110  }
111 }
bool HandleResponse(IHandler handler, HttpMessage response)
Handle a response received from the server.
HttpHandler AddModule(IHttpModule httpModule)
Add a http module.
Definition: HttpHandler.cs:38
-
byte [] GetRequest()
Build the request bytes based on the message contents.
Definition: HttpMessage.cs:225
+
byte [] BuildRequest()
Build the request bytes based on the message contents.
Definition: HttpMessage.cs:232
void SendRequest(Client client, HttpMessage request)
Send a request to the server.
Definition: HttpHandler.cs:29
Handler for handling client http communication.
Definition: HttpHandler.cs:13
@@ -108,7 +108,7 @@ $(document).ready(function(){initNavTree('d9/d13/_client_2_handlers_2_http_handl
Handler interface for client communication.
Definition: IHandler.cs:11
Definition: Client.cs:14
-
void ParseResponse(byte[] responseBytes)
Parse the received bytes and populate the message contents.
Definition: HttpMessage.cs:375
+
void ParseResponse(byte[] responseBytes)
Parse the received bytes and populate the message contents.
Definition: HttpMessage.cs:406
Base class for TCP Client.
Definition: Client.cs:19
diff --git a/docs/d9/d29/class_m_t_s_c_1_1_server_1_1_handlers_1_1_encryption_handler-members.html b/docs/d9/d29/class_m_t_s_c_1_1_server_1_1_handlers_1_1_encryption_handler-members.html index a92dba0..f830262 100644 --- a/docs/d9/d29/class_m_t_s_c_1_1_server_1_1_handlers_1_1_encryption_handler-members.html +++ b/docs/d9/d29/class_m_t_s_c_1_1_server_1_1_handlers_1_1_encryption_handler-members.html @@ -31,7 +31,7 @@ diff --git a/docs/d9/d37/class_m_t_s_c_1_1_server_1_1_server-members.html b/docs/d9/d37/class_m_t_s_c_1_1_server_1_1_server-members.html index f196e8e..798df2a 100644 --- a/docs/d9/d37/class_m_t_s_c_1_1_server_1_1_server-members.html +++ b/docs/d9/d37/class_m_t_s_c_1_1_server_1_1_server-members.html @@ -31,7 +31,7 @@ diff --git a/docs/d9/d83/_release_2net45_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html b/docs/d9/d83/_release_2net45_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html index 2c36103..39cd39d 100644 --- a/docs/d9/d83/_release_2net45_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html +++ b/docs/d9/d83/_release_2net45_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/d9/daf/_debug_2netcoreapp2_81_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html b/docs/d9/daf/_debug_2netcoreapp2_81_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html index e622821..ca74ce0 100644 --- a/docs/d9/daf/_debug_2netcoreapp2_81_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html +++ b/docs/d9/daf/_debug_2netcoreapp2_81_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/d9/dc0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module.html b/docs/d9/dc0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module.html index 11627b9..2e6228f 100644 --- a/docs/d9/dc0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module.html +++ b/docs/d9/dc0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module.html @@ -31,7 +31,7 @@ diff --git a/docs/d9/dc0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module.png b/docs/d9/dc0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module.png index 300cd7c..6f116da 100644 Binary files a/docs/d9/dc0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module.png and b/docs/d9/dc0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module.png differ diff --git a/docs/d9/dea/class_m_t_s_c_1_1_exceptions_1_1_invalid_post_form_exception.html b/docs/d9/dea/class_m_t_s_c_1_1_exceptions_1_1_invalid_post_form_exception.html index 4fc5719..13d2b56 100644 --- a/docs/d9/dea/class_m_t_s_c_1_1_exceptions_1_1_invalid_post_form_exception.html +++ b/docs/d9/dea/class_m_t_s_c_1_1_exceptions_1_1_invalid_post_form_exception.html @@ -31,7 +31,7 @@ diff --git a/docs/d9/dea/class_m_t_s_c_1_1_exceptions_1_1_invalid_post_form_exception.png b/docs/d9/dea/class_m_t_s_c_1_1_exceptions_1_1_invalid_post_form_exception.png index a2aaf31..eb76887 100644 Binary files a/docs/d9/dea/class_m_t_s_c_1_1_exceptions_1_1_invalid_post_form_exception.png and b/docs/d9/dea/class_m_t_s_c_1_1_exceptions_1_1_invalid_post_form_exception.png differ diff --git a/docs/d9/deb/_release_2net48_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html b/docs/d9/deb/_release_2net48_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html index af4f8ae..4c3b3ea 100644 --- a/docs/d9/deb/_release_2net48_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html +++ b/docs/d9/deb/_release_2net48_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/da/d0a/_debug_2netcoreapp2_81_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html b/docs/da/d0a/_debug_2netcoreapp2_81_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html index f73c118..7b115b1 100644 --- a/docs/da/d0a/_debug_2netcoreapp2_81_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html +++ b/docs/da/d0a/_debug_2netcoreapp2_81_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/da/d3e/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module-members.html b/docs/da/d3e/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module-members.html index 0cff99f..4b401fd 100644 --- a/docs/da/d3e/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module-members.html +++ b/docs/da/d3e/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module-members.html @@ -31,7 +31,7 @@ diff --git a/docs/da/d6f/class_m_t_s_c_1_1_exceptions_1_1_no_data_exception.html b/docs/da/d6f/class_m_t_s_c_1_1_exceptions_1_1_no_data_exception.html index 17e3674..e26d710 100644 --- a/docs/da/d6f/class_m_t_s_c_1_1_exceptions_1_1_no_data_exception.html +++ b/docs/da/d6f/class_m_t_s_c_1_1_exceptions_1_1_no_data_exception.html @@ -31,7 +31,7 @@ diff --git a/docs/da/d6f/class_m_t_s_c_1_1_exceptions_1_1_no_data_exception.png b/docs/da/d6f/class_m_t_s_c_1_1_exceptions_1_1_no_data_exception.png index 90f33cf..dcb747b 100644 Binary files a/docs/da/d6f/class_m_t_s_c_1_1_exceptions_1_1_no_data_exception.png and b/docs/da/d6f/class_m_t_s_c_1_1_exceptions_1_1_no_data_exception.png differ diff --git a/docs/da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.html b/docs/da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.html index 38c8d2e..f38fa93 100644 --- a/docs/da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.html +++ b/docs/da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.html @@ -31,7 +31,7 @@ diff --git a/docs/da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.png b/docs/da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.png index fba3402..2fea070 100644 Binary files a/docs/da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.png and b/docs/da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.png differ diff --git a/docs/da/d82/namespace_m_t_s_c_1_1_client_1_1_handlers.html b/docs/da/d82/namespace_m_t_s_c_1_1_client_1_1_handlers.html index e29f7b3..fb0746c 100644 --- a/docs/da/d82/namespace_m_t_s_c_1_1_client_1_1_handlers.html +++ b/docs/da/d82/namespace_m_t_s_c_1_1_client_1_1_handlers.html @@ -31,7 +31,7 @@ diff --git a/docs/da/d89/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module__coll__graph.dot b/docs/da/d89/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module__coll__graph.dot new file mode 100644 index 0000000..6061a20 --- /dev/null +++ b/docs/da/d89/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module__coll__graph.dot @@ -0,0 +1,9 @@ +digraph "MTSC.Common.Http.ServerModules.PostModule" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node2 [label="MTSC.Common.Http.ServerModules.\lPostModule",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node3 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IHttpModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d8/da0/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module.html",tooltip="Interface for Http modules used by the server http handler."]; +} diff --git a/docs/da/d89/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module__coll__graph.md5 b/docs/da/d89/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module__coll__graph.md5 new file mode 100644 index 0000000..4032e04 --- /dev/null +++ b/docs/da/d89/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module__coll__graph.md5 @@ -0,0 +1 @@ +02849eb9f5824db70810e2dc3b255d0d \ No newline at end of file diff --git a/docs/da/da6/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module-members.html b/docs/da/da6/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module-members.html index 84e9c9b..3ef999a 100644 --- a/docs/da/da6/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module-members.html +++ b/docs/da/da6/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module-members.html @@ -31,7 +31,7 @@ diff --git a/docs/da/dae/class_m_t_s_c_1_1_client_1_1_handlers_1_1_encryption_handler-members.html b/docs/da/dae/class_m_t_s_c_1_1_client_1_1_handlers_1_1_encryption_handler-members.html index 7550631..2f24bc4 100644 --- a/docs/da/dae/class_m_t_s_c_1_1_client_1_1_handlers_1_1_encryption_handler-members.html +++ b/docs/da/dae/class_m_t_s_c_1_1_client_1_1_handlers_1_1_encryption_handler-members.html @@ -31,7 +31,7 @@ diff --git a/docs/da/db3/namespace_m_t_s_c_1_1_common_1_1_http_1_1_client_modules.html b/docs/da/db3/namespace_m_t_s_c_1_1_common_1_1_http_1_1_client_modules.html index 42bbec9..33878f2 100644 --- a/docs/da/db3/namespace_m_t_s_c_1_1_common_1_1_http_1_1_client_modules.html +++ b/docs/da/db3/namespace_m_t_s_c_1_1_common_1_1_http_1_1_client_modules.html @@ -31,7 +31,7 @@ diff --git a/docs/da/dc2/class_m_t_s_c_1_1_client_1_1_handlers_1_1_http_handler-members.html b/docs/da/dc2/class_m_t_s_c_1_1_client_1_1_handlers_1_1_http_handler-members.html index 50e1795..1da28af 100644 --- a/docs/da/dc2/class_m_t_s_c_1_1_client_1_1_handlers_1_1_http_handler-members.html +++ b/docs/da/dc2/class_m_t_s_c_1_1_client_1_1_handlers_1_1_http_handler-members.html @@ -31,7 +31,7 @@ diff --git a/docs/da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html b/docs/da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html index f783653..a74c037 100644 --- a/docs/da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html +++ b/docs/da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html @@ -31,7 +31,7 @@ diff --git a/docs/da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.png b/docs/da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.png index a501de3..01bd517 100644 Binary files a/docs/da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.png and b/docs/da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.png differ diff --git a/docs/da/dd0/class_m_t_s_c_1_1_logging_1_1_debug_console_logger.html b/docs/da/dd0/class_m_t_s_c_1_1_logging_1_1_debug_console_logger.html index ef2bf7c..6dee390 100644 --- a/docs/da/dd0/class_m_t_s_c_1_1_logging_1_1_debug_console_logger.html +++ b/docs/da/dd0/class_m_t_s_c_1_1_logging_1_1_debug_console_logger.html @@ -31,7 +31,7 @@ diff --git a/docs/da/dd0/class_m_t_s_c_1_1_logging_1_1_debug_console_logger.png b/docs/da/dd0/class_m_t_s_c_1_1_logging_1_1_debug_console_logger.png index 8897dc9..3c6eee8 100644 Binary files a/docs/da/dd0/class_m_t_s_c_1_1_logging_1_1_debug_console_logger.png and b/docs/da/dd0/class_m_t_s_c_1_1_logging_1_1_debug_console_logger.png differ diff --git a/docs/da/ded/_server_modules_2_i_http_module_8cs_source.html b/docs/da/ded/_server_modules_2_i_http_module_8cs_source.html index 4a1f83f..e8475fc 100644 --- a/docs/da/ded/_server_modules_2_i_http_module_8cs_source.html +++ b/docs/da/ded/_server_modules_2_i_http_module_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/db/d0f/_message_8cs_source.html b/docs/db/d0f/_message_8cs_source.html index 1e8d150..3d28d25 100644 --- a/docs/db/d0f/_message_8cs_source.html +++ b/docs/db/d0f/_message_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/db/d27/_exception_console_logger_8cs_source.html b/docs/db/d27/_exception_console_logger_8cs_source.html index 52f956b..36b354b 100644 --- a/docs/db/d27/_exception_console_logger_8cs_source.html +++ b/docs/db/d27/_exception_console_logger_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/db/d43/_client_8cs_source.html b/docs/db/d43/_client_8cs_source.html index 2afb545..9a8a3cb 100644 --- a/docs/db/d43/_client_8cs_source.html +++ b/docs/db/d43/_client_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/db/d68/_broadcast_module_8cs_source.html b/docs/db/d68/_broadcast_module_8cs_source.html index 2d14cd9..e526f55 100644 --- a/docs/db/d68/_broadcast_module_8cs_source.html +++ b/docs/db/d68/_broadcast_module_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/db/d91/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message-members.html b/docs/db/d91/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message-members.html index 7ce87ce..2578f05 100644 --- a/docs/db/d91/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message-members.html +++ b/docs/db/d91/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message-members.html @@ -31,7 +31,7 @@ @@ -100,15 +100,17 @@ $(document).ready(function(){initNavTree('df/dff/class_m_t_s_c_1_1_common_1_1_ht + + - + + + - - diff --git a/docs/db/d9a/_server_2_handlers_2_broadcast_handler_8cs_source.html b/docs/db/d9a/_server_2_handlers_2_broadcast_handler_8cs_source.html index 980c4ac..f7f09e5 100644 --- a/docs/db/d9a/_server_2_handlers_2_broadcast_handler_8cs_source.html +++ b/docs/db/d9a/_server_2_handlers_2_broadcast_handler_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/db/db3/_release_2net48_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html b/docs/db/db3/_release_2net48_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html index 64740f7..009732d 100644 --- a/docs/db/db3/_release_2net48_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html +++ b/docs/db/db3/_release_2net48_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/db/db8/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception-members.html b/docs/db/db8/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception-members.html index 112b85d..1b08507 100644 --- a/docs/db/db8/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception-members.html +++ b/docs/db/db8/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception-members.html @@ -31,7 +31,7 @@ diff --git a/docs/db/dbd/_chat_module_8cs_source.html b/docs/db/dbd/_chat_module_8cs_source.html index aa14d7c..e9b70bf 100644 --- a/docs/db/dbd/_chat_module_8cs_source.html +++ b/docs/db/dbd/_chat_module_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/db/dbe/namespace_m_t_s_c_1_1_logging.html b/docs/db/dbe/namespace_m_t_s_c_1_1_logging.html index 8d8e6d4..817dcce 100644 --- a/docs/db/dbe/namespace_m_t_s_c_1_1_logging.html +++ b/docs/db/dbe/namespace_m_t_s_c_1_1_logging.html @@ -31,7 +31,7 @@ diff --git a/docs/db/dca/namespace_m_t_s_c_1_1_common.html b/docs/db/dca/namespace_m_t_s_c_1_1_common.html index ccfb54c..ed21e9c 100644 --- a/docs/db/dca/namespace_m_t_s_c_1_1_common.html +++ b/docs/db/dca/namespace_m_t_s_c_1_1_common.html @@ -31,7 +31,7 @@ diff --git a/docs/db/dd9/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception-members.html b/docs/db/dd9/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception-members.html index f73fd05..43ca392 100644 --- a/docs/db/dd9/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception-members.html +++ b/docs/db/dd9/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception-members.html @@ -31,7 +31,7 @@ diff --git a/docs/db/ddd/struct_m_t_s_c_1_1_message-members.html b/docs/db/ddd/struct_m_t_s_c_1_1_message-members.html index e230a1e..a7ee4db 100644 --- a/docs/db/ddd/struct_m_t_s_c_1_1_message-members.html +++ b/docs/db/ddd/struct_m_t_s_c_1_1_message-members.html @@ -31,7 +31,7 @@ diff --git a/docs/dc/d44/class_m_t_s_c_1_1_server_1_1_handlers_1_1_broadcast_handler.html b/docs/dc/d44/class_m_t_s_c_1_1_server_1_1_handlers_1_1_broadcast_handler.html index a2d04ff..789cd45 100644 --- a/docs/dc/d44/class_m_t_s_c_1_1_server_1_1_handlers_1_1_broadcast_handler.html +++ b/docs/dc/d44/class_m_t_s_c_1_1_server_1_1_handlers_1_1_broadcast_handler.html @@ -31,7 +31,7 @@ diff --git a/docs/dc/d44/class_m_t_s_c_1_1_server_1_1_handlers_1_1_broadcast_handler.png b/docs/dc/d44/class_m_t_s_c_1_1_server_1_1_handlers_1_1_broadcast_handler.png index 71dd501..e41dd28 100644 Binary files a/docs/dc/d44/class_m_t_s_c_1_1_server_1_1_handlers_1_1_broadcast_handler.png and b/docs/dc/d44/class_m_t_s_c_1_1_server_1_1_handlers_1_1_broadcast_handler.png differ diff --git a/docs/dc/d46/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_broadcast_module-members.html b/docs/dc/d46/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_broadcast_module-members.html index f19f06d..8036782 100644 --- a/docs/dc/d46/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_broadcast_module-members.html +++ b/docs/dc/d46/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_broadcast_module-members.html @@ -31,7 +31,7 @@ diff --git a/docs/dc/d75/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler.html b/docs/dc/d75/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler.html index d389635..853fb7c 100644 --- a/docs/dc/d75/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler.html +++ b/docs/dc/d75/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler.html @@ -31,7 +31,7 @@ diff --git a/docs/dc/d75/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler.png b/docs/dc/d75/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler.png index 18d9abf..5c7ad0a 100644 Binary files a/docs/dc/d75/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler.png and b/docs/dc/d75/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler.png differ diff --git a/docs/dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html b/docs/dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html index f3d6a16..622ec2a 100644 --- a/docs/dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html +++ b/docs/dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html @@ -31,7 +31,7 @@ diff --git a/docs/dc/d94/class_m_t_s_c_1_1_exceptions_1_1_exception_thrower.html b/docs/dc/d94/class_m_t_s_c_1_1_exceptions_1_1_exception_thrower.html index c700de8..e4741b2 100644 --- a/docs/dc/d94/class_m_t_s_c_1_1_exceptions_1_1_exception_thrower.html +++ b/docs/dc/d94/class_m_t_s_c_1_1_exceptions_1_1_exception_thrower.html @@ -31,7 +31,7 @@ diff --git a/docs/dc/d94/class_m_t_s_c_1_1_exceptions_1_1_exception_thrower.png b/docs/dc/d94/class_m_t_s_c_1_1_exceptions_1_1_exception_thrower.png index b8270b3..667277b 100644 Binary files a/docs/dc/d94/class_m_t_s_c_1_1_exceptions_1_1_exception_thrower.png and b/docs/dc/d94/class_m_t_s_c_1_1_exceptions_1_1_exception_thrower.png differ diff --git a/docs/dc/da0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module-members.html b/docs/dc/da0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module-members.html index 9b35579..c2454bf 100644 --- a/docs/dc/da0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module-members.html +++ b/docs/dc/da0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module-members.html @@ -31,7 +31,7 @@ diff --git a/docs/dc/da7/_server_2_handlers_2_i_handler_8cs_source.html b/docs/dc/da7/_server_2_handlers_2_i_handler_8cs_source.html index b3b0800..13bd5cb 100644 --- a/docs/dc/da7/_server_2_handlers_2_i_handler_8cs_source.html +++ b/docs/dc/da7/_server_2_handlers_2_i_handler_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/dc/da8/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler-members.html b/docs/dc/da8/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler-members.html index 92b69ab..11eec6a 100644 --- a/docs/dc/da8/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler-members.html +++ b/docs/dc/da8/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler-members.html @@ -31,7 +31,7 @@ diff --git a/docs/dc/dbf/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module-members.html b/docs/dc/dbf/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module-members.html index a8bbfbd..1e37b15 100644 --- a/docs/dc/dbf/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module-members.html +++ b/docs/dc/dbf/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module-members.html @@ -31,7 +31,7 @@ diff --git a/docs/dc/dc2/_invalid_status_code_exception_8cs_source.html b/docs/dc/dc2/_invalid_status_code_exception_8cs_source.html index 19c9a16..1dd064e 100644 --- a/docs/dc/dc2/_invalid_status_code_exception_8cs_source.html +++ b/docs/dc/dc2/_invalid_status_code_exception_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/dc/dd3/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_http404_module.html b/docs/dc/dd3/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_http404_module.html index 0c94594..5e12be7 100644 --- a/docs/dc/dd3/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_http404_module.html +++ b/docs/dc/dd3/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_http404_module.html @@ -31,7 +31,7 @@ diff --git a/docs/dc/dd3/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_http404_module.png b/docs/dc/dd3/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_http404_module.png index a9ee01e..9879442 100644 Binary files a/docs/dc/dd3/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_http404_module.png and b/docs/dc/dd3/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_http404_module.png differ diff --git a/docs/dc/dd4/struct_m_t_s_c_1_1_message.html b/docs/dc/dd4/struct_m_t_s_c_1_1_message.html index 0747a21..3137dfa 100644 --- a/docs/dc/dd4/struct_m_t_s_c_1_1_message.html +++ b/docs/dc/dd4/struct_m_t_s_c_1_1_message.html @@ -31,7 +31,7 @@ diff --git a/docs/dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.html b/docs/dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.html index 38948cd..abf378c 100644 --- a/docs/dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.html +++ b/docs/dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.html @@ -31,7 +31,7 @@ diff --git a/docs/dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.png b/docs/dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.png index 0f90ad7..3a05b34 100644 Binary files a/docs/dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.png and b/docs/dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.png differ diff --git a/docs/dd/d2f/_communication_primitives_8cs_source.html b/docs/dd/d2f/_communication_primitives_8cs_source.html index 4e177da..198cb97 100644 --- a/docs/dd/d2f/_communication_primitives_8cs_source.html +++ b/docs/dd/d2f/_communication_primitives_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/dd/d31/_release_2netcoreapp2_81_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html b/docs/dd/d31/_release_2netcoreapp2_81_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html index 1212938..b261955 100644 --- a/docs/dd/d31/_release_2netcoreapp2_81_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html +++ b/docs/dd/d31/_release_2netcoreapp2_81_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/dd/d37/class_m_t_s_c_1_1_exceptions_1_1_invalid_first_byte_exception-members.html b/docs/dd/d37/class_m_t_s_c_1_1_exceptions_1_1_invalid_first_byte_exception-members.html index c77d945..b0e2ae3 100644 --- a/docs/dd/d37/class_m_t_s_c_1_1_exceptions_1_1_invalid_first_byte_exception-members.html +++ b/docs/dd/d37/class_m_t_s_c_1_1_exceptions_1_1_invalid_first_byte_exception-members.html @@ -31,7 +31,7 @@ diff --git a/docs/dd/d38/class_m_t_s_c_1_1_exceptions_1_1_invalid_post_form_exception-members.html b/docs/dd/d38/class_m_t_s_c_1_1_exceptions_1_1_invalid_post_form_exception-members.html index a1f3cb8..ce0e060 100644 --- a/docs/dd/d38/class_m_t_s_c_1_1_exceptions_1_1_invalid_post_form_exception-members.html +++ b/docs/dd/d38/class_m_t_s_c_1_1_exceptions_1_1_invalid_post_form_exception-members.html @@ -31,7 +31,7 @@ diff --git a/docs/dd/d39/_release_2netcoreapp2_81_2_m_t_s_c_8_assembly_info_8cs_source.html b/docs/dd/d39/_release_2netcoreapp2_81_2_m_t_s_c_8_assembly_info_8cs_source.html index a8b53b8..8fc8a23 100644 --- a/docs/dd/d39/_release_2netcoreapp2_81_2_m_t_s_c_8_assembly_info_8cs_source.html +++ b/docs/dd/d39/_release_2netcoreapp2_81_2_m_t_s_c_8_assembly_info_8cs_source.html @@ -31,7 +31,7 @@ @@ -92,7 +92,7 @@ $(document).ready(function(){initNavTree('dd/d39/_release_2netcoreapp2_81_2_m_t_
MTSC.AssemblyInfo.cs
-
1 //------------------------------------------------------------------------------
2 // <auto-generated>
3 // This code was generated by a tool.
4 // Runtime Version:4.0.30319.42000
5 //
6 // Changes to this file may cause incorrect behavior and will be lost if
7 // the code is regenerated.
8 // </auto-generated>
9 //------------------------------------------------------------------------------
10 
11 using System;
12 using System.Reflection;
13 
14 [assembly: System.Reflection.AssemblyCompanyAttribute("Alexandru-Victor Macocian")]
15 [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
16 [assembly: System.Reflection.AssemblyDescriptionAttribute("Modular TCP Server and Client")]
17 [assembly: System.Reflection.AssemblyFileVersionAttribute("0.1.0.0")]
18 [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
19 [assembly: System.Reflection.AssemblyProductAttribute("MTSC")]
20 [assembly: System.Reflection.AssemblyTitleAttribute("MTSC")]
21 [assembly: System.Reflection.AssemblyVersionAttribute("0.1.0.0")]
22 
23 // Generated by the MSBuild WriteCodeFragment class.
24 
+
1 //------------------------------------------------------------------------------
2 // <auto-generated>
3 // This code was generated by a tool.
4 // Runtime Version:4.0.30319.42000
5 //
6 // Changes to this file may cause incorrect behavior and will be lost if
7 // the code is regenerated.
8 // </auto-generated>
9 //------------------------------------------------------------------------------
10 
11 using System;
12 using System.Reflection;
13 
14 [assembly: System.Reflection.AssemblyCompanyAttribute("Alexandru-Victor Macocian")]
15 [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
16 [assembly: System.Reflection.AssemblyDescriptionAttribute("Modular TCP Server and Client")]
17 [assembly: System.Reflection.AssemblyFileVersionAttribute("0.1.0.5")]
18 [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.5")]
19 [assembly: System.Reflection.AssemblyProductAttribute("MTSC")]
20 [assembly: System.Reflection.AssemblyTitleAttribute("MTSC")]
21 [assembly: System.Reflection.AssemblyVersionAttribute("0.1.0.5")]
22 
23 // Generated by the MSBuild WriteCodeFragment class.
24 
diff --git a/docs/dd/d5c/class_m_t_s_c_1_1_client_1_1_handlers_1_1_encryption_handler.html b/docs/dd/d5c/class_m_t_s_c_1_1_client_1_1_handlers_1_1_encryption_handler.html index 652c56e..0b68c52 100644 --- a/docs/dd/d5c/class_m_t_s_c_1_1_client_1_1_handlers_1_1_encryption_handler.html +++ b/docs/dd/d5c/class_m_t_s_c_1_1_client_1_1_handlers_1_1_encryption_handler.html @@ -31,7 +31,7 @@ diff --git a/docs/dd/d5c/class_m_t_s_c_1_1_client_1_1_handlers_1_1_encryption_handler.png b/docs/dd/d5c/class_m_t_s_c_1_1_client_1_1_handlers_1_1_encryption_handler.png index 3b3ab8a..e39b1dc 100644 Binary files a/docs/dd/d5c/class_m_t_s_c_1_1_client_1_1_handlers_1_1_encryption_handler.png and b/docs/dd/d5c/class_m_t_s_c_1_1_client_1_1_handlers_1_1_encryption_handler.png differ diff --git a/docs/dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.html b/docs/dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.html index 9a642ad..f04a9b3 100644 --- a/docs/dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.html +++ b/docs/dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.html @@ -31,7 +31,7 @@ diff --git a/docs/dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.png b/docs/dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.png index 367cb88..966c966 100644 Binary files a/docs/dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.png and b/docs/dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.png differ diff --git a/docs/dd/d9c/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler-members.html b/docs/dd/d9c/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler-members.html index 53c7fce..a7f4496 100644 --- a/docs/dd/d9c/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler-members.html +++ b/docs/dd/d9c/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler-members.html @@ -31,7 +31,7 @@ diff --git a/docs/dd/dc4/_debug_2netcoreapp2_81_2_m_t_s_c_8_assembly_info_8cs_source.html b/docs/dd/dc4/_debug_2netcoreapp2_81_2_m_t_s_c_8_assembly_info_8cs_source.html index 78b7beb..cc6e979 100644 --- a/docs/dd/dc4/_debug_2netcoreapp2_81_2_m_t_s_c_8_assembly_info_8cs_source.html +++ b/docs/dd/dc4/_debug_2netcoreapp2_81_2_m_t_s_c_8_assembly_info_8cs_source.html @@ -31,7 +31,7 @@ @@ -92,7 +92,7 @@ $(document).ready(function(){initNavTree('dd/dc4/_debug_2netcoreapp2_81_2_m_t_s_
MTSC.AssemblyInfo.cs
-
1 //------------------------------------------------------------------------------
2 // <auto-generated>
3 // This code was generated by a tool.
4 // Runtime Version:4.0.30319.42000
5 //
6 // Changes to this file may cause incorrect behavior and will be lost if
7 // the code is regenerated.
8 // </auto-generated>
9 //------------------------------------------------------------------------------
10 
11 using System;
12 using System.Reflection;
13 
14 [assembly: System.Reflection.AssemblyCompanyAttribute("Alexandru-Victor Macocian")]
15 [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
16 [assembly: System.Reflection.AssemblyDescriptionAttribute("Modular TCP Server and Client")]
17 [assembly: System.Reflection.AssemblyFileVersionAttribute("0.1.0.0")]
18 [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
19 [assembly: System.Reflection.AssemblyProductAttribute("MTSC")]
20 [assembly: System.Reflection.AssemblyTitleAttribute("MTSC")]
21 [assembly: System.Reflection.AssemblyVersionAttribute("0.1.0.0")]
22 
23 // Generated by the MSBuild WriteCodeFragment class.
24 
+
1 //------------------------------------------------------------------------------
2 // <auto-generated>
3 // This code was generated by a tool.
4 // Runtime Version:4.0.30319.42000
5 //
6 // Changes to this file may cause incorrect behavior and will be lost if
7 // the code is regenerated.
8 // </auto-generated>
9 //------------------------------------------------------------------------------
10 
11 using System;
12 using System.Reflection;
13 
14 [assembly: System.Reflection.AssemblyCompanyAttribute("Alexandru-Victor Macocian")]
15 [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
16 [assembly: System.Reflection.AssemblyDescriptionAttribute("Modular TCP Server and Client")]
17 [assembly: System.Reflection.AssemblyFileVersionAttribute("0.1.0.5")]
18 [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.5")]
19 [assembly: System.Reflection.AssemblyProductAttribute("MTSC")]
20 [assembly: System.Reflection.AssemblyTitleAttribute("MTSC")]
21 [assembly: System.Reflection.AssemblyVersionAttribute("0.1.0.5")]
22 
23 // Generated by the MSBuild WriteCodeFragment class.
24 
diff --git a/docs/dd/df1/_invalid_first_byte_exception_8cs_source.html b/docs/dd/df1/_invalid_first_byte_exception_8cs_source.html index 5fbde06..029e2c5 100644 --- a/docs/dd/df1/_invalid_first_byte_exception_8cs_source.html +++ b/docs/dd/df1/_invalid_first_byte_exception_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/de/d19/_exception_thrower_8cs_source.html b/docs/de/d19/_exception_thrower_8cs_source.html index a0d424b..cfbc9f3 100644 --- a/docs/de/d19/_exception_thrower_8cs_source.html +++ b/docs/de/d19/_exception_thrower_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/de/d28/_invalid_http_version_exception_8cs_source.html b/docs/de/d28/_invalid_http_version_exception_8cs_source.html index 138810f..2505f2d 100644 --- a/docs/de/d28/_invalid_http_version_exception_8cs_source.html +++ b/docs/de/d28/_invalid_http_version_exception_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/de/d73/_method_invalid_exception_8cs_source.html b/docs/de/d73/_method_invalid_exception_8cs_source.html index 6306a40..469abbb 100644 --- a/docs/de/d73/_method_invalid_exception_8cs_source.html +++ b/docs/de/d73/_method_invalid_exception_8cs_source.html @@ -31,7 +31,7 @@ diff --git a/docs/de/d8e/_release_2netcoreapp2_80_2_m_t_s_c_8_assembly_info_8cs_source.html b/docs/de/d8e/_release_2netcoreapp2_80_2_m_t_s_c_8_assembly_info_8cs_source.html new file mode 100644 index 0000000..22a7e89 --- /dev/null +++ b/docs/de/d8e/_release_2netcoreapp2_80_2_m_t_s_c_8_assembly_info_8cs_source.html @@ -0,0 +1,107 @@ + + + + + + + +MTSC: D:/Projects/MTSC/MTSC/obj/Release/netcoreapp2.0/MTSC.AssemblyInfo.cs Source File + + + + + + + + + + + + + + +
+
+
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
AddRequestHeader(RequestHeadersEnum requestHeader, string value)MTSC.Common.Http.HttpMessage
AddResponseHeader(ResponseHeadersEnum responseHeader, string value)MTSC.Common.Http.HttpMessage
Body (defined in MTSC.Common.Http.HttpMessage)MTSC.Common.Http.HttpMessage
BuildRequest()MTSC.Common.Http.HttpMessage
BuildResponse(bool includeContentLengthHeader)MTSC.Common.Http.HttpMessage
ContainsHeader(ResponseHeadersEnum header)MTSC.Common.Http.HttpMessage
ContainsHeader(RequestHeadersEnum header)MTSC.Common.Http.HttpMessage
ContainsHeader(GeneralHeadersEnum header)MTSC.Common.Http.HttpMessage
ContainsHeader(string header)MTSC.Common.Http.HttpMessage
ContainsHeader(EntityHeadersEnum header)MTSC.Common.Http.HttpMessage
ContainsHeader(string header)MTSC.Common.Http.HttpMessage
CookiesMTSC.Common.Http.HttpMessage
EntityHeadersEnum enum name (defined in MTSC.Common.Http.HttpMessage)MTSC.Common.Http.HttpMessage
GeneralHeadersEnum enum name (defined in MTSC.Common.Http.HttpMessage)MTSC.Common.Http.HttpMessage
GetPostForm()MTSC.Common.Http.HttpMessage
GetRequest()MTSC.Common.Http.HttpMessage
GetResponse(bool includeContentLengthHeader)MTSC.Common.Http.HttpMessage
HttpMessage() (defined in MTSC.Common.Http.HttpMessage)MTSC.Common.Http.HttpMessage
Method (defined in MTSC.Common.Http.HttpMessage)MTSC.Common.Http.HttpMessage
MethodEnum enum name (defined in MTSC.Common.Http.HttpMessage)MTSC.Common.Http.HttpMessage
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
+ + + + + + +
+
MTSC +  1.0.5 +
+
Build TCP servers out of modules with handlers for communication, exception and logging.
+
+ + + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
MTSC.AssemblyInfo.cs
+
+
+
1 //------------------------------------------------------------------------------
2 // <auto-generated>
3 // This code was generated by a tool.
4 // Runtime Version:4.0.30319.42000
5 //
6 // Changes to this file may cause incorrect behavior and will be lost if
7 // the code is regenerated.
8 // </auto-generated>
9 //------------------------------------------------------------------------------
10 
11 using System;
12 using System.Reflection;
13 
14 [assembly: System.Reflection.AssemblyCompanyAttribute("Alexandru-Victor Macocian")]
15 [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
16 [assembly: System.Reflection.AssemblyDescriptionAttribute("Modular TCP Server and Client")]
17 [assembly: System.Reflection.AssemblyFileVersionAttribute("0.1.0.5")]
18 [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.5")]
19 [assembly: System.Reflection.AssemblyProductAttribute("MTSC")]
20 [assembly: System.Reflection.AssemblyTitleAttribute("MTSC")]
21 [assembly: System.Reflection.AssemblyVersionAttribute("0.1.0.5")]
22 
23 // Generated by the MSBuild WriteCodeFragment class.
24 
+
+ + + + diff --git a/docs/de/d91/namespace_m_t_s_c_1_1_common_1_1_web_sockets.html b/docs/de/d91/namespace_m_t_s_c_1_1_common_1_1_web_sockets.html index 51aec64..2428cbf 100644 --- a/docs/de/d91/namespace_m_t_s_c_1_1_common_1_1_web_sockets.html +++ b/docs/de/d91/namespace_m_t_s_c_1_1_common_1_1_web_sockets.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/de/dab/class_m_t_s_c_1_1_exceptions_1_1_method_invalid_exception.html b/docs/de/dab/class_m_t_s_c_1_1_exceptions_1_1_method_invalid_exception.html index 08a4c7b..60c180b 100644 --- a/docs/de/dab/class_m_t_s_c_1_1_exceptions_1_1_method_invalid_exception.html +++ b/docs/de/dab/class_m_t_s_c_1_1_exceptions_1_1_method_invalid_exception.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/de/dab/class_m_t_s_c_1_1_exceptions_1_1_method_invalid_exception.png b/docs/de/dab/class_m_t_s_c_1_1_exceptions_1_1_method_invalid_exception.png index 1575c2c..4825a03 100644 Binary files a/docs/de/dab/class_m_t_s_c_1_1_exceptions_1_1_method_invalid_exception.png and b/docs/de/dab/class_m_t_s_c_1_1_exceptions_1_1_method_invalid_exception.png differ diff --git a/docs/de/db6/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message-members.html b/docs/de/db6/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message-members.html index b2e80f9..ddcfb37 100644 --- a/docs/de/db6/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message-members.html +++ b/docs/de/db6/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.html b/docs/de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.html index 14fc21d..76abd04 100644 --- a/docs/de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.html +++ b/docs/de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.png b/docs/de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.png index bca64a2..8b0d3f3 100644 Binary files a/docs/de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.png and b/docs/de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.png differ diff --git a/docs/df/d15/namespace_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules.html b/docs/df/d15/namespace_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules.html index 87f28ce..b52ab68 100644 --- a/docs/df/d15/namespace_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules.html +++ b/docs/df/d15/namespace_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/df/d3b/class_m_t_s_c_1_1_client_1_1_handlers_1_1_websocket_handler.html b/docs/df/d3b/class_m_t_s_c_1_1_client_1_1_handlers_1_1_websocket_handler.html index c595203..08b5410 100644 --- a/docs/df/d3b/class_m_t_s_c_1_1_client_1_1_handlers_1_1_websocket_handler.html +++ b/docs/df/d3b/class_m_t_s_c_1_1_client_1_1_handlers_1_1_websocket_handler.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/df/d3b/class_m_t_s_c_1_1_client_1_1_handlers_1_1_websocket_handler.png b/docs/df/d3b/class_m_t_s_c_1_1_client_1_1_handlers_1_1_websocket_handler.png index 1ad0c8a..9225c7b 100644 Binary files a/docs/df/d3b/class_m_t_s_c_1_1_client_1_1_handlers_1_1_websocket_handler.png and b/docs/df/d3b/class_m_t_s_c_1_1_client_1_1_handlers_1_1_websocket_handler.png differ diff --git a/docs/df/d3c/interface_m_t_s_c_1_1_logging_1_1_i_logger-members.html b/docs/df/d3c/interface_m_t_s_c_1_1_logging_1_1_i_logger-members.html index cfee729..a34c761 100644 --- a/docs/df/d3c/interface_m_t_s_c_1_1_logging_1_1_i_logger-members.html +++ b/docs/df/d3c/interface_m_t_s_c_1_1_logging_1_1_i_logger-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/df/d4e/interface_m_t_s_c_1_1_client_1_1_handlers_1_1_i_handler.html b/docs/df/d4e/interface_m_t_s_c_1_1_client_1_1_handlers_1_1_i_handler.html index 418f16b..4b8a352 100644 --- a/docs/df/d4e/interface_m_t_s_c_1_1_client_1_1_handlers_1_1_i_handler.html +++ b/docs/df/d4e/interface_m_t_s_c_1_1_client_1_1_handlers_1_1_i_handler.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/df/d4e/interface_m_t_s_c_1_1_client_1_1_handlers_1_1_i_handler.png b/docs/df/d4e/interface_m_t_s_c_1_1_client_1_1_handlers_1_1_i_handler.png index 4000c23..c41d265 100644 Binary files a/docs/df/d4e/interface_m_t_s_c_1_1_client_1_1_handlers_1_1_i_handler.png and b/docs/df/d4e/interface_m_t_s_c_1_1_client_1_1_handlers_1_1_i_handler.png differ diff --git a/docs/df/d5f/class_m_t_s_c_1_1_exceptions_1_1_exception_thrower-members.html b/docs/df/d5f/class_m_t_s_c_1_1_exceptions_1_1_exception_thrower-members.html index 2ccfba7..ed6d4b0 100644 --- a/docs/df/d5f/class_m_t_s_c_1_1_exceptions_1_1_exception_thrower-members.html +++ b/docs/df/d5f/class_m_t_s_c_1_1_exceptions_1_1_exception_thrower-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/df/d65/_debug_2net48_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html b/docs/df/d65/_debug_2net48_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html index 50adb6e..988395c 100644 --- a/docs/df/d65/_debug_2net48_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html +++ b/docs/df/d65/_debug_2net48_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/df/d86/class_m_t_s_c_1_1_exceptions_1_1_exception_console_logger.html b/docs/df/d86/class_m_t_s_c_1_1_exceptions_1_1_exception_console_logger.html index 2eca3da..e16812d 100644 --- a/docs/df/d86/class_m_t_s_c_1_1_exceptions_1_1_exception_console_logger.html +++ b/docs/df/d86/class_m_t_s_c_1_1_exceptions_1_1_exception_console_logger.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/df/d86/class_m_t_s_c_1_1_exceptions_1_1_exception_console_logger.png b/docs/df/d86/class_m_t_s_c_1_1_exceptions_1_1_exception_console_logger.png index b76ff9d..37ac33e 100644 Binary files a/docs/df/d86/class_m_t_s_c_1_1_exceptions_1_1_exception_console_logger.png and b/docs/df/d86/class_m_t_s_c_1_1_exceptions_1_1_exception_console_logger.png differ diff --git a/docs/df/d94/class_m_t_s_c_1_1_server_1_1_handlers_1_1_broadcast_handler-members.html b/docs/df/d94/class_m_t_s_c_1_1_server_1_1_handlers_1_1_broadcast_handler-members.html index 6e56fac..14df64a 100644 --- a/docs/df/d94/class_m_t_s_c_1_1_server_1_1_handlers_1_1_broadcast_handler-members.html +++ b/docs/df/d94/class_m_t_s_c_1_1_server_1_1_handlers_1_1_broadcast_handler-members.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/df/db4/_server_2_handlers_2_http_handler_8cs_source.html b/docs/df/db4/_server_2_handlers_2_http_handler_8cs_source.html index 107ed69..fca657a 100644 --- a/docs/df/db4/_server_2_handlers_2_http_handler_8cs_source.html +++ b/docs/df/db4/_server_2_handlers_2_http_handler_8cs_source.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
@@ -92,7 +92,7 @@ $(document).ready(function(){initNavTree('df/db4/_server_2_handlers_2_http_handl
HttpHandler.cs
-
1 using MTSC.Common;
2 using MTSC.Common.Http;
4 using System;
5 using System.Collections.Concurrent;
6 using System.Collections.Generic;
7 using System.Text;
8 using System.Threading;
9 
10 namespace MTSC.Server.Handlers
11 {
15  public class HttpHandler : IHandler
16  {
17  #region Fields
18  List<IHttpModule> httpModules = new List<IHttpModule>();
19  ConcurrentQueue<Tuple<ClientData,HttpMessage>> messageQueue = new ConcurrentQueue<Tuple<ClientData, HttpMessage>>();
20  #endregion
21  #region Constructors
22  public HttpHandler()
23  {
24 
25  }
26  #endregion
27  #region Public Methods
34  {
35  this.httpModules.Add(module);
36  return this;
37  }
42  public void QueueResponse(ClientData client, HttpMessage response)
43  {
44  messageQueue.Enqueue(new Tuple<ClientData, HttpMessage>(client, response));
45  }
46  #endregion
47  #region Interface Implementation
48  void IHandler.ClientRemoved(Server server, ClientData client)
53  {
54 
55  }
61  bool IHandler.HandleClient(Server server, ClientData client)
62  {
63  return false;
64  }
71  bool IHandler.HandleReceivedMessage(Server server, ClientData client, Message message)
72  {
73  HttpMessage httpMessage = new HttpMessage();
74  HttpMessage responseMessage = new HttpMessage();
75  httpMessage.ParseRequest(message.MessageBytes);
76  if(httpMessage.ContainsHeader(HttpMessage.GeneralHeadersEnum.Connection) &&
77  httpMessage[HttpMessage.GeneralHeadersEnum.Connection].ToLower() == "close")
78  {
79  responseMessage[HttpMessage.GeneralHeadersEnum.Connection] = "close";
80  client.ToBeRemoved = true;
81  }
82  else
83  {
84  responseMessage[HttpMessage.GeneralHeadersEnum.Connection] = "keep-alive";
85  }
86  foreach(IHttpModule module in httpModules)
87  {
88  if(module.HandleRequest(server, this, client, httpMessage, ref responseMessage))
89  {
90  break;
91  }
92  }
93  QueueResponse(client, responseMessage);
94  return false;
95  }
102  bool IHandler.HandleSendMessage(Server server, ClientData client, ref Message message)
103  {
104  return false;
105  }
112  bool IHandler.PreHandleReceivedMessage(Server server, ClientData client, ref Message message)
113  {
114  return false;
115  }
119  void IHandler.Tick(Server server)
120  {
121  while (messageQueue.Count > 0)
122  {
123  Tuple<ClientData, HttpMessage> tuple = null;
124  if (messageQueue.TryDequeue(out tuple))
125  {
126  server.QueueMessage(tuple.Item1, tuple.Item2.GetResponse(true));
127  }
128  }
129  foreach (IHttpModule module in httpModules)
130  {
131  module.Tick(server, this);
132  }
133  }
134  #endregion
135  }
136 }
void QueueResponse(ClientData client, HttpMessage response)
Send a response back to the client.
Definition: HttpHandler.cs:42
+
1 using MTSC.Common;
2 using MTSC.Common.Http;
4 using System;
5 using System.Collections.Concurrent;
6 using System.Collections.Generic;
7 using System.Text;
8 using System.Threading;
9 
10 namespace MTSC.Server.Handlers
11 {
15  public class HttpHandler : IHandler
16  {
17  private static string urlEncodedHeader = "application/x-www-form-urlencoded";
18  private static string multipartHeader = "multipart/form-data";
19  #region Fields
20  List<IHttpModule> httpModules = new List<IHttpModule>();
21  ConcurrentQueue<Tuple<ClientData,HttpMessage>> messageQueue = new ConcurrentQueue<Tuple<ClientData, HttpMessage>>();
22  #endregion
23  #region Constructors
24  public HttpHandler()
25  {
26 
27  }
28  #endregion
29  #region Public Methods
36  {
37  this.httpModules.Add(module);
38  return this;
39  }
44  public void QueueResponse(ClientData client, HttpMessage response)
45  {
46  messageQueue.Enqueue(new Tuple<ClientData, HttpMessage>(client, response));
47  }
48  #endregion
49  #region Interface Implementation
50  void IHandler.ClientRemoved(Server server, ClientData client)
55  {
56 
57  }
63  bool IHandler.HandleClient(Server server, ClientData client)
64  {
65  return false;
66  }
73  bool IHandler.HandleReceivedMessage(Server server, ClientData client, Message message)
74  {
75  HttpMessage httpMessage = new HttpMessage();
76  HttpMessage responseMessage = new HttpMessage();
77  httpMessage.ParseRequest(message.MessageBytes);
78  if(httpMessage.ContainsHeader(HttpMessage.GeneralHeadersEnum.Connection) &&
79  httpMessage[HttpMessage.GeneralHeadersEnum.Connection].ToLower() == "close")
80  {
81  responseMessage[HttpMessage.GeneralHeadersEnum.Connection] = "close";
82  client.ToBeRemoved = true;
83  }
84  else
85  {
86  responseMessage[HttpMessage.GeneralHeadersEnum.Connection] = "keep-alive";
87  }
88  foreach(IHttpModule module in httpModules)
89  {
90  if(module.HandleRequest(server, this, client, httpMessage, ref responseMessage))
91  {
92  break;
93  }
94  }
95  QueueResponse(client, responseMessage);
96  return false;
97  }
104  bool IHandler.HandleSendMessage(Server server, ClientData client, ref Message message)
105  {
106  return false;
107  }
114  bool IHandler.PreHandleReceivedMessage(Server server, ClientData client, ref Message message)
115  {
116  return false;
117  }
121  void IHandler.Tick(Server server)
122  {
123  while (messageQueue.Count > 0)
124  {
125  Tuple<ClientData, HttpMessage> tuple = null;
126  if (messageQueue.TryDequeue(out tuple))
127  {
128  server.QueueMessage(tuple.Item1, tuple.Item2.BuildResponse(true));
129  }
130  }
131  foreach (IHttpModule module in httpModules)
132  {
133  module.Tick(server, this);
134  }
135  }
136  #endregion
137  }
138 }
void QueueResponse(ClientData client, HttpMessage response)
Send a response back to the client.
Definition: HttpHandler.cs:44
Interface for communication handlers.
Definition: IHandler.cs:11
void Tick(Server.Server server, HttpHandler handler)
Perform periodic operations.
Structure containing client information.
Definition: Server.cs:402
@@ -104,12 +104,12 @@ $(document).ready(function(){initNavTree('df/db4/_server_2_handlers_2_http_handl
Basic server class to handle TCP connections.
Definition: Server.cs:20
-
bool ContainsHeader(ResponseHeadersEnum header)
Check if the message contains a header.
Definition: HttpMessage.cs:462
+
bool ContainsHeader(ResponseHeadersEnum header)
Check if the message contains a header.
Definition: HttpMessage.cs:500
bool HandleRequest(Server.Server server, HttpHandler handler, ClientData client, HttpMessage request, ref HttpMessage response)
Handle the received request.
-
HttpHandler AddHttpModule(IHttpModule module)
Add a http module onto the server.
Definition: HttpHandler.cs:33
+
HttpHandler AddHttpModule(IHttpModule module)
Add a http module onto the server.
Definition: HttpHandler.cs:35
Definition: Client.cs:14
-
void ParseRequest(byte[] requestBytes)
Parse the received bytes and populate the message contents.
Definition: HttpMessage.cs:247
+
void ParseRequest(byte[] requestBytes)
Parse the received bytes and populate the message contents.
Definition: HttpMessage.cs:267
Interface for Http modules used by the server http handler.
Definition: IHttpModule.cs:13
diff --git a/docs/df/dda/namespace_m_t_s_c_1_1_common_1_1_http_1_1_server_modules.html b/docs/df/dda/namespace_m_t_s_c_1_1_common_1_1_http_1_1_server_modules.html index d3dbe6a..b5bac60 100644 --- a/docs/df/dda/namespace_m_t_s_c_1_1_common_1_1_http_1_1_server_modules.html +++ b/docs/df/dda/namespace_m_t_s_c_1_1_common_1_1_http_1_1_server_modules.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
@@ -107,6 +107,8 @@ Classes interface  IHttpModule  Interface for Http modules used by the server http handler. More...
  +class  PostModule diff --git a/docs/df/dda/namespace_m_t_s_c_1_1_common_1_1_http_1_1_server_modules.js b/docs/df/dda/namespace_m_t_s_c_1_1_common_1_1_http_1_1_server_modules.js index 9c83e5a..6f376f3 100644 --- a/docs/df/dda/namespace_m_t_s_c_1_1_common_1_1_http_1_1_server_modules.js +++ b/docs/df/dda/namespace_m_t_s_c_1_1_common_1_1_http_1_1_server_modules.js @@ -3,5 +3,6 @@ var namespace_m_t_s_c_1_1_common_1_1_http_1_1_server_modules = [ "FileServerModule", "d8/d56/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module.html", "d8/d56/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module" ], [ "HelloWorldModule", "d6/d98/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_hello_world_module.html", null ], [ "Http404Module", "dc/dd3/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_http404_module.html", null ], - [ "IHttpModule", "d8/da0/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module.html", "d8/da0/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module" ] + [ "IHttpModule", "d8/da0/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module.html", "d8/da0/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module" ], + [ "PostModule", "d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.html", "d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module" ] ]; \ No newline at end of file diff --git a/docs/df/def/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module.html b/docs/df/def/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module.html index cb145a7..38a9baa 100644 --- a/docs/df/def/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module.html +++ b/docs/df/def/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/df/def/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module.png b/docs/df/def/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module.png index c7a86a5..de9c179 100644 Binary files a/docs/df/def/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module.png and b/docs/df/def/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module.png differ diff --git a/docs/df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html b/docs/df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html index e2d5969..1d56c7a 100644 --- a/docs/df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html +++ b/docs/df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
@@ -256,15 +256,15 @@ Public Member Functions void AddEntityHeaders (EntityHeadersEnum entityHeader, string value)  Add an entity header to the message. More...
  -byte [] GetRequest () - Build the request bytes based on the message contents. More...
-  +byte [] BuildRequest () + Build the request bytes based on the message contents. More...
+  void ParseRequest (byte[] requestBytes)  Parse the received bytes and populate the message contents. More...
  -byte [] GetResponse (bool includeContentLengthHeader) - Build the response bytes based on the message contents. More...
-  +byte [] BuildResponse (bool includeContentLengthHeader) + Build the response bytes based on the message contents. More...
+  void ParseResponse (byte[] responseBytes)  Parse the received bytes and populate the message contents. More...
  @@ -277,6 +277,9 @@ Public Member Functions bool ContainsHeader (GeneralHeadersEnum header)  Check if the message contains a header. More...
  +bool ContainsHeader (EntityHeadersEnum header) + Check if the message contains a header. More...
+  bool ContainsHeader (string header)  Check if the message contains a header. More...
  @@ -316,6 +319,9 @@ StatusCodes StatusCode string this[EntityHeadersEnum headerKey] [get, set]  Headers dictionary. More...
  +List< CookieCookies [get] + List of cookies. More...

Detailed Description

@@ -356,7 +362,7 @@ StatusCodes StatusCode -

Definition at line 217 of file HttpMessage.cs.

+

Definition at line 224 of file HttpMessage.cs.

@@ -395,7 +401,7 @@ StatusCodes StatusCode -

Definition at line 190 of file HttpMessage.cs.

+

Definition at line 197 of file HttpMessage.cs.

@@ -434,7 +440,7 @@ StatusCodes StatusCode -

Definition at line 199 of file HttpMessage.cs.

+

Definition at line 206 of file HttpMessage.cs.

@@ -473,12 +479,63 @@ StatusCodes StatusCode -

Definition at line 208 of file HttpMessage.cs.

+

Definition at line 215 of file HttpMessage.cs.

+ + + + +

◆ BuildRequest()

+ +
+
+ + + + + + + +
byte [] MTSC.Common.Http.HttpMessage.BuildRequest ()
+
+ +

Build the request bytes based on the message contents.

+
Returns
Array of bytes.
+ +

Definition at line 232 of file HttpMessage.cs.

+ +
+
+ +

◆ BuildResponse()

+ +
+
+ + + + + + + + +
byte [] MTSC.Common.Http.HttpMessage.BuildResponse (bool includeContentLengthHeader)
+
+ +

Build the response bytes based on the message contents.

+
Parameters
+ + +
includeContentLengthHeaderIf set to true, add an extra Content-Length header specifying the length of the body.
+
+
+
Returns
Array of bytes.
+ +

Definition at line 372 of file HttpMessage.cs.

-

◆ ContainsHeader() [1/4]

+

◆ ContainsHeader() [1/5]

@@ -502,12 +559,12 @@ StatusCodes StatusCode
Returns
True if the message contains a header with the provided key.
-

Definition at line 462 of file HttpMessage.cs.

+

Definition at line 500 of file HttpMessage.cs.

-

◆ ContainsHeader() [2/4]

+

◆ ContainsHeader() [2/5]

@@ -531,12 +588,12 @@ StatusCodes StatusCode
Returns
True if the message contains a header with the provided key.
-

Definition at line 471 of file HttpMessage.cs.

+

Definition at line 509 of file HttpMessage.cs.

-

◆ ContainsHeader() [3/4]

+

◆ ContainsHeader() [3/5]

@@ -560,12 +617,41 @@ StatusCodes StatusCode
Returns
True if the message contains a header with the provided key.
-

Definition at line 480 of file HttpMessage.cs.

+

Definition at line 518 of file HttpMessage.cs.

+ +
+
+ +

◆ ContainsHeader() [4/5]

+ +
+
+ + + + + + + + +
bool MTSC.Common.Http.HttpMessage.ContainsHeader (EntityHeadersEnum header)
+
+ +

Check if the message contains a header.

+
Parameters
+ + +
headerKey of the header.
+
+
+
Returns
True if the message contains a header with the provided key.
+ +

Definition at line 527 of file HttpMessage.cs.

-

◆ ContainsHeader() [4/4]

+

◆ ContainsHeader() [5/5]

@@ -589,7 +675,7 @@ StatusCodes StatusCode
Returns
True if the message contains a header with the provided key.
-

Definition at line 489 of file HttpMessage.cs.

+

Definition at line 536 of file HttpMessage.cs.

@@ -611,58 +697,7 @@ StatusCodes StatusCode

Parse the body into a posted from respecting the reference manual.

Returns
Dictionary with posted from.
-

Definition at line 497 of file HttpMessage.cs.

- - - - -

◆ GetRequest()

- -
-
- - - - - - - -
byte [] MTSC.Common.Http.HttpMessage.GetRequest ()
-
- -

Build the request bytes based on the message contents.

-
Returns
Array of bytes.
- -

Definition at line 225 of file HttpMessage.cs.

- -
-
- -

◆ GetResponse()

- -
-
- - - - - - - - -
byte [] MTSC.Common.Http.HttpMessage.GetResponse (bool includeContentLengthHeader)
-
- -

Build the response bytes based on the message contents.

-
Parameters
- - -
includeContentLengthHeaderIf set to true, add an extra Content-Length header specifying the length of the body.
-
-
-
Returns
Array of bytes.
- -

Definition at line 345 of file HttpMessage.cs.

+

Definition at line 544 of file HttpMessage.cs.

@@ -690,7 +725,7 @@ StatusCodes StatusCode -

Definition at line 247 of file HttpMessage.cs.

+

Definition at line 267 of file HttpMessage.cs.

@@ -718,11 +753,37 @@ StatusCodes StatusCode -

Definition at line 375 of file HttpMessage.cs.

+

Definition at line 406 of file HttpMessage.cs.

Property Documentation

+ +

◆ Cookies

+ +
+
+ + + + + +
+ + + + +
List<Cookie> MTSC.Common.Http.HttpMessage.Cookies
+
+get
+
+ +

List of cookies.

+ +

Definition at line 191 of file HttpMessage.cs.

+ +
+

◆ this[EntityHeadersEnum headerKey]

@@ -752,7 +813,7 @@ StatusCodes StatusCode
Returns
Value of the header.
-

Definition at line 184 of file HttpMessage.cs.

+

Definition at line 187 of file HttpMessage.cs.

@@ -785,7 +846,7 @@ StatusCodes StatusCode
Returns
Value of the header.
-

Definition at line 166 of file HttpMessage.cs.

+

Definition at line 169 of file HttpMessage.cs.

@@ -818,7 +879,7 @@ StatusCodes StatusCode
Returns
Value of the header.
-

Definition at line 178 of file HttpMessage.cs.

+

Definition at line 181 of file HttpMessage.cs.

@@ -851,7 +912,7 @@ StatusCodes StatusCode
Returns
Value of the header.
-

Definition at line 172 of file HttpMessage.cs.

+

Definition at line 175 of file HttpMessage.cs.

@@ -884,7 +945,7 @@ StatusCodes StatusCode
Returns
Value of the header.
-

Definition at line 160 of file HttpMessage.cs.

+

Definition at line 163 of file HttpMessage.cs.

diff --git a/docs/df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.js b/docs/df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.js index 7b9e6f5..4d7bb9b 100644 --- a/docs/df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.js +++ b/docs/df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.js @@ -113,16 +113,18 @@ var class_m_t_s_c_1_1_common_1_1_http_1_1_http_message = [ "AddGeneralHeader", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a959c91a346a8fc3fd21cc8b3ff5f4c88", null ], [ "AddRequestHeader", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a598978cd10bc3160ab2656d59596b27e", null ], [ "AddResponseHeader", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a354738dd74b0be81f81f2ce25e02f39e", null ], + [ "BuildRequest", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a74eae4074bc8e72795e89fcd50675c4d", null ], + [ "BuildResponse", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a5d4b2e7f5e232037fba3e60870567232", null ], [ "ContainsHeader", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ab2112e24bfb1830b9061d9f804246316", null ], [ "ContainsHeader", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a97021b8cc907ff0a9dc47ad5cbd37a89", null ], [ "ContainsHeader", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a5d224be02f00fc5793efdfd9bc659725", null ], + [ "ContainsHeader", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ac44c53de0f98bf7c8246e36e1d06e45d", null ], [ "ContainsHeader", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a020cf8a3319bad005fb7dc66cfe40ce6", null ], [ "GetPostForm", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a82a557dc8206fb11dfb17e0fb72aa7d0", null ], - [ "GetRequest", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#acef383459a1111f43d8912a8d386ff7b", null ], - [ "GetResponse", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a27858b4066156d6ad11c3c38694fa7b5", null ], [ "ParseRequest", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a85656b5625b7572777ab218ba345f612", null ], [ "ParseResponse", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a039d2c6c8d2a0d26ca0432fbe0a372cf", null ], [ "Body", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a1dc48f77e0badb0151d4be5b79caabf0", null ], + [ "Cookies", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a6674eb6c05cc4d37c05d3c530af56e2a", null ], [ "Method", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a5fcd6f0dc796a74e36c3caa4e2958630", null ], [ "RequestQuery", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a293dd77642bcdd3fb11721a1b868fe8c", null ], [ "RequestURI", "df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a3c241b1c28e779cff58e5de4b2a9bf23", null ], diff --git a/docs/dir_060ae041221bd5ec93acd9997d59bc4a.html b/docs/dir_060ae041221bd5ec93acd9997d59bc4a.html index fac1f77..1422205 100644 --- a/docs/dir_060ae041221bd5ec93acd9997d59bc4a.html +++ b/docs/dir_060ae041221bd5ec93acd9997d59bc4a.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_18f78fe84eecd4a1e0ba100f9fef9273.html b/docs/dir_18f78fe84eecd4a1e0ba100f9fef9273.html new file mode 100644 index 0000000..c2f44c1 --- /dev/null +++ b/docs/dir_18f78fe84eecd4a1e0ba100f9fef9273.html @@ -0,0 +1,107 @@ + + + + + + + +MTSC: D:/Projects/MTSC/MTSC/obj/Release/netstandard2.0 Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
MTSC +  1.0.5 +
+
Build TCP servers out of modules with handlers for communication, exception and logging.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
netstandard2.0 Directory Reference
+
+
+
+
+ + + + diff --git a/docs/dir_18f78fe84eecd4a1e0ba100f9fef9273.js b/docs/dir_18f78fe84eecd4a1e0ba100f9fef9273.js new file mode 100644 index 0000000..1d88103 --- /dev/null +++ b/docs/dir_18f78fe84eecd4a1e0ba100f9fef9273.js @@ -0,0 +1,4 @@ +var dir_18f78fe84eecd4a1e0ba100f9fef9273 = +[ + [ "MTSC.AssemblyInfo.cs", "d5/df4/_release_2netstandard2_80_2_m_t_s_c_8_assembly_info_8cs_source.html", null ] +]; \ No newline at end of file diff --git a/docs/dir_191ea0d58bc4aa76598804cf9a9a4081.html b/docs/dir_191ea0d58bc4aa76598804cf9a9a4081.html index 454c5a7..b971a9c 100644 --- a/docs/dir_191ea0d58bc4aa76598804cf9a9a4081.html +++ b/docs/dir_191ea0d58bc4aa76598804cf9a9a4081.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_1c549a8c0368fbf2d31a8f8dc0a70690.html b/docs/dir_1c549a8c0368fbf2d31a8f8dc0a70690.html index 7feb4c0..73f8186 100644 --- a/docs/dir_1c549a8c0368fbf2d31a8f8dc0a70690.html +++ b/docs/dir_1c549a8c0368fbf2d31a8f8dc0a70690.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_2b786a618fa1a35d0fa6c1f0a951f035.html b/docs/dir_2b786a618fa1a35d0fa6c1f0a951f035.html index fc408d6..8b1ccd2 100644 --- a/docs/dir_2b786a618fa1a35d0fa6c1f0a951f035.html +++ b/docs/dir_2b786a618fa1a35d0fa6c1f0a951f035.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_2bed625b8678336fd3428040269a7e1f.html b/docs/dir_2bed625b8678336fd3428040269a7e1f.html index e22db91..ddb344d 100644 --- a/docs/dir_2bed625b8678336fd3428040269a7e1f.html +++ b/docs/dir_2bed625b8678336fd3428040269a7e1f.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_358eb219223b877d278b694a4705d823.html b/docs/dir_358eb219223b877d278b694a4705d823.html index 585e196..ef366b4 100644 --- a/docs/dir_358eb219223b877d278b694a4705d823.html +++ b/docs/dir_358eb219223b877d278b694a4705d823.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_3c5620eb11971a15737f9176b123ece0.html b/docs/dir_3c5620eb11971a15737f9176b123ece0.html index 68b36e2..0538665 100644 --- a/docs/dir_3c5620eb11971a15737f9176b123ece0.html +++ b/docs/dir_3c5620eb11971a15737f9176b123ece0.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_3e6c9ca704d5ac39bea56d7971e0d054.html b/docs/dir_3e6c9ca704d5ac39bea56d7971e0d054.html index 04de16c..b15786d 100644 --- a/docs/dir_3e6c9ca704d5ac39bea56d7971e0d054.html +++ b/docs/dir_3e6c9ca704d5ac39bea56d7971e0d054.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_3f72314963399eb45a5e5610bf0cc145.html b/docs/dir_3f72314963399eb45a5e5610bf0cc145.html index 1107c83..53b262a 100644 --- a/docs/dir_3f72314963399eb45a5e5610bf0cc145.html +++ b/docs/dir_3f72314963399eb45a5e5610bf0cc145.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_463cd4dabdde5d8586315ca59a2d23c1.html b/docs/dir_463cd4dabdde5d8586315ca59a2d23c1.html index 67c3d17..4e748c7 100644 --- a/docs/dir_463cd4dabdde5d8586315ca59a2d23c1.html +++ b/docs/dir_463cd4dabdde5d8586315ca59a2d23c1.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_57b0082ffa0af670f404eda33c530396.html b/docs/dir_57b0082ffa0af670f404eda33c530396.html index efe063d..bcb7370 100644 --- a/docs/dir_57b0082ffa0af670f404eda33c530396.html +++ b/docs/dir_57b0082ffa0af670f404eda33c530396.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_62d48bea4fe746cedac2516f67715e2f.html b/docs/dir_62d48bea4fe746cedac2516f67715e2f.html index 25fbd45..1d5b142 100644 --- a/docs/dir_62d48bea4fe746cedac2516f67715e2f.html +++ b/docs/dir_62d48bea4fe746cedac2516f67715e2f.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_70c99956df21f970f9dba0c1e1740f5c.html b/docs/dir_70c99956df21f970f9dba0c1e1740f5c.html index a21a1c2..b3024bf 100644 --- a/docs/dir_70c99956df21f970f9dba0c1e1740f5c.html +++ b/docs/dir_70c99956df21f970f9dba0c1e1740f5c.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_71304019a3d358fe52b6a8280ce6c97c.html b/docs/dir_71304019a3d358fe52b6a8280ce6c97c.html index 193c230..352dc3e 100644 --- a/docs/dir_71304019a3d358fe52b6a8280ce6c97c.html +++ b/docs/dir_71304019a3d358fe52b6a8280ce6c97c.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_7299b3d9bb46b9d6bcfef12b634e889c.html b/docs/dir_7299b3d9bb46b9d6bcfef12b634e889c.html index eaffc26..213488d 100644 --- a/docs/dir_7299b3d9bb46b9d6bcfef12b634e889c.html +++ b/docs/dir_7299b3d9bb46b9d6bcfef12b634e889c.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_7c3fd1497bc0af0cd7f9eef323230981.html b/docs/dir_7c3fd1497bc0af0cd7f9eef323230981.html new file mode 100644 index 0000000..c7a5342 --- /dev/null +++ b/docs/dir_7c3fd1497bc0af0cd7f9eef323230981.html @@ -0,0 +1,107 @@ + + + + + + + +MTSC: D:/Projects/MTSC/MTSC/obj/Release/netcoreapp2.0 Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
MTSC +  1.0.5 +
+
Build TCP servers out of modules with handlers for communication, exception and logging.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
netcoreapp2.0 Directory Reference
+
+
+
+
+ + + + diff --git a/docs/dir_7c3fd1497bc0af0cd7f9eef323230981.js b/docs/dir_7c3fd1497bc0af0cd7f9eef323230981.js new file mode 100644 index 0000000..7b435e3 --- /dev/null +++ b/docs/dir_7c3fd1497bc0af0cd7f9eef323230981.js @@ -0,0 +1,4 @@ +var dir_7c3fd1497bc0af0cd7f9eef323230981 = +[ + [ "MTSC.AssemblyInfo.cs", "de/d8e/_release_2netcoreapp2_80_2_m_t_s_c_8_assembly_info_8cs_source.html", null ] +]; \ No newline at end of file diff --git a/docs/dir_9a2c1c90aeb7330df3888fc4e386572a.html b/docs/dir_9a2c1c90aeb7330df3888fc4e386572a.html index e912d6b..5fca93b 100644 --- a/docs/dir_9a2c1c90aeb7330df3888fc4e386572a.html +++ b/docs/dir_9a2c1c90aeb7330df3888fc4e386572a.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_9dfefe4e1ff2dafff0ff7b183fb80a5d.html b/docs/dir_9dfefe4e1ff2dafff0ff7b183fb80a5d.html index 197ca12..4d0e971 100644 --- a/docs/dir_9dfefe4e1ff2dafff0ff7b183fb80a5d.html +++ b/docs/dir_9dfefe4e1ff2dafff0ff7b183fb80a5d.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_aacd352a84a4f5db43a6bb63759aa0e5.html b/docs/dir_aacd352a84a4f5db43a6bb63759aa0e5.html index 679fdd9..6258d32 100644 --- a/docs/dir_aacd352a84a4f5db43a6bb63759aa0e5.html +++ b/docs/dir_aacd352a84a4f5db43a6bb63759aa0e5.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_d18f251565efce6e2c7efbad3e34f789.html b/docs/dir_d18f251565efce6e2c7efbad3e34f789.html index cd7086b..a94ca55 100644 --- a/docs/dir_d18f251565efce6e2c7efbad3e34f789.html +++ b/docs/dir_d18f251565efce6e2c7efbad3e34f789.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_d18f251565efce6e2c7efbad3e34f789.js b/docs/dir_d18f251565efce6e2c7efbad3e34f789.js index 7a7ff5a..058dc9d 100644 --- a/docs/dir_d18f251565efce6e2c7efbad3e34f789.js +++ b/docs/dir_d18f251565efce6e2c7efbad3e34f789.js @@ -2,5 +2,6 @@ var dir_d18f251565efce6e2c7efbad3e34f789 = [ [ "ClientModules", "dir_3c5620eb11971a15737f9176b123ece0.html", "dir_3c5620eb11971a15737f9176b123ece0" ], [ "ServerModules", "dir_d55ee0fc9b1e69611b98eb45cbf91143.html", "dir_d55ee0fc9b1e69611b98eb45cbf91143" ], + [ "Cookie.cs", "d0/d86/_cookie_8cs_source.html", null ], [ "HttpMessage.cs", "d5/d98/_http_message_8cs_source.html", null ] ]; \ No newline at end of file diff --git a/docs/dir_d2dabb60356392c82b7650f84b0a3306.html b/docs/dir_d2dabb60356392c82b7650f84b0a3306.html index 092c864..ca96b14 100644 --- a/docs/dir_d2dabb60356392c82b7650f84b0a3306.html +++ b/docs/dir_d2dabb60356392c82b7650f84b0a3306.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_d2dabb60356392c82b7650f84b0a3306.js b/docs/dir_d2dabb60356392c82b7650f84b0a3306.js index 577a10a..7d03b1a 100644 --- a/docs/dir_d2dabb60356392c82b7650f84b0a3306.js +++ b/docs/dir_d2dabb60356392c82b7650f84b0a3306.js @@ -2,5 +2,8 @@ var dir_d2dabb60356392c82b7650f84b0a3306 = [ [ "net45", "dir_9a2c1c90aeb7330df3888fc4e386572a.html", "dir_9a2c1c90aeb7330df3888fc4e386572a" ], [ "net48", "dir_1c549a8c0368fbf2d31a8f8dc0a70690.html", "dir_1c549a8c0368fbf2d31a8f8dc0a70690" ], - [ "netcoreapp2.1", "dir_463cd4dabdde5d8586315ca59a2d23c1.html", "dir_463cd4dabdde5d8586315ca59a2d23c1" ] + [ "netcoreapp2.0", "dir_7c3fd1497bc0af0cd7f9eef323230981.html", "dir_7c3fd1497bc0af0cd7f9eef323230981" ], + [ "netcoreapp2.1", "dir_463cd4dabdde5d8586315ca59a2d23c1.html", "dir_463cd4dabdde5d8586315ca59a2d23c1" ], + [ "netcoreapp3.0", "dir_ecc488f1555fcc6b6ad794031dc53dd1.html", "dir_ecc488f1555fcc6b6ad794031dc53dd1" ], + [ "netstandard2.0", "dir_18f78fe84eecd4a1e0ba100f9fef9273.html", "dir_18f78fe84eecd4a1e0ba100f9fef9273" ] ]; \ No newline at end of file diff --git a/docs/dir_d55ee0fc9b1e69611b98eb45cbf91143.html b/docs/dir_d55ee0fc9b1e69611b98eb45cbf91143.html index 9d01a57..8f20b94 100644 --- a/docs/dir_d55ee0fc9b1e69611b98eb45cbf91143.html +++ b/docs/dir_d55ee0fc9b1e69611b98eb45cbf91143.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_d55ee0fc9b1e69611b98eb45cbf91143.js b/docs/dir_d55ee0fc9b1e69611b98eb45cbf91143.js index 0f8cd12..c6e0fda 100644 --- a/docs/dir_d55ee0fc9b1e69611b98eb45cbf91143.js +++ b/docs/dir_d55ee0fc9b1e69611b98eb45cbf91143.js @@ -3,5 +3,6 @@ var dir_d55ee0fc9b1e69611b98eb45cbf91143 = [ "FileServerModule.cs", "dd/de1/_file_server_module_8cs_source.html", null ], [ "HelloWorldModule.cs", "d3/d3f/_hello_world_module_8cs_source.html", null ], [ "Http404Module.cs", "d3/d41/_http404_module_8cs_source.html", null ], - [ "IHttpModule.cs", "da/ded/_server_modules_2_i_http_module_8cs_source.html", null ] + [ "IHttpModule.cs", "da/ded/_server_modules_2_i_http_module_8cs_source.html", null ], + [ "PostModule.cs", "d3/d8d/_post_module_8cs_source.html", null ] ]; \ No newline at end of file diff --git a/docs/dir_dd7589cd703d467b08715c004924abac.html b/docs/dir_dd7589cd703d467b08715c004924abac.html index 504edca..12484d5 100644 --- a/docs/dir_dd7589cd703d467b08715c004924abac.html +++ b/docs/dir_dd7589cd703d467b08715c004924abac.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_e1cb8f9b823681a26481b9089f7b7776.html b/docs/dir_e1cb8f9b823681a26481b9089f7b7776.html index b589a62..319530e 100644 --- a/docs/dir_e1cb8f9b823681a26481b9089f7b7776.html +++ b/docs/dir_e1cb8f9b823681a26481b9089f7b7776.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
diff --git a/docs/dir_ecc488f1555fcc6b6ad794031dc53dd1.html b/docs/dir_ecc488f1555fcc6b6ad794031dc53dd1.html new file mode 100644 index 0000000..1d07237 --- /dev/null +++ b/docs/dir_ecc488f1555fcc6b6ad794031dc53dd1.html @@ -0,0 +1,107 @@ + + + + + + + +MTSC: D:/Projects/MTSC/MTSC/obj/Release/netcoreapp3.0 Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
MTSC +  1.0.5 +
+
Build TCP servers out of modules with handlers for communication, exception and logging.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
netcoreapp3.0 Directory Reference
+
+
+
+
+ + + + diff --git a/docs/dir_ecc488f1555fcc6b6ad794031dc53dd1.js b/docs/dir_ecc488f1555fcc6b6ad794031dc53dd1.js new file mode 100644 index 0000000..7f8e50e --- /dev/null +++ b/docs/dir_ecc488f1555fcc6b6ad794031dc53dd1.js @@ -0,0 +1,4 @@ +var dir_ecc488f1555fcc6b6ad794031dc53dd1 = +[ + [ "MTSC.AssemblyInfo.cs", "d1/d7f/_release_2netcoreapp3_80_2_m_t_s_c_8_assembly_info_8cs_source.html", null ] +]; \ No newline at end of file diff --git a/docs/doc.png b/docs/doc.png index 2c6a0b9..82eab2e 100644 Binary files a/docs/doc.png and b/docs/doc.png differ diff --git a/docs/doxygen.css b/docs/doxygen.css index adb5711..bf15793 100644 --- a/docs/doxygen.css +++ b/docs/doxygen.css @@ -22,8 +22,8 @@ h1.groupheader { } h2.groupheader { - border-bottom: 1px solid #423F56; - color: #09090C; + border-bottom: 1px solid #676AA2; + color: #24253B; font-size: 150%; font-weight: normal; margin-top: 1.75em; @@ -106,8 +106,8 @@ h3.version { } div.qindex, div.navtab{ - background-color: #D3D2DE; - border: 1px solid #5C5878; + background-color: #E4E4EE; + border: 1px solid #878AB6; text-align: center; } @@ -123,13 +123,13 @@ div.navtab { /* @group Link Styling */ a { - color: #0D0D12; + color: #2C2D48; font-weight: normal; text-decoration: none; } .contents a:visited { - color: #15141C; + color: #37395B; } a:hover { @@ -142,13 +142,13 @@ a.qindex { a.qindexHL { font-weight: bold; - background-color: #55516F; - color: #FFFFFE; - border: 1px double #413E54; + background-color: #7F81B1; + color: #FFFFFF; + border: 1px double #6669A2; } .contents a.qindexHL:visited { - color: #FFFFFE; + color: #FFFFFF; } a.el { @@ -159,11 +159,11 @@ a.elRef { } a.code, a.code:visited, a.line, a.line:visited { - color: #15141C; + color: #37395B; } a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #15141C; + color: #37395B; } /* @end */ @@ -192,8 +192,8 @@ ul { } pre.fragment { - border: 1px solid #8885A5; - background-color: #F7F6F8; + border: 1px solid #B0B2CF; + background-color: #FAFAFC; padding: 4px 6px; margin: 4px 8px 4px 2px; overflow: auto; @@ -207,8 +207,8 @@ pre.fragment { div.fragment { padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ margin: 4px 8px 4px 2px; - background-color: #F7F6F8; - border: 1px solid #8885A5; + background-color: #FAFAFC; + border: 1px solid #B0B2CF; } div.line { @@ -276,7 +276,7 @@ span.lineno a:hover { div.ah, span.ah { background-color: black; font-weight: bold; - color: #FFFFFE; + color: #FFFFFF; margin-bottom: 3px; margin-top: 3px; padding: 0.2em; @@ -324,9 +324,9 @@ div.contents { } td.indexkey { - background-color: #D3D2DE; + background-color: #E4E4EE; font-weight: bold; - border: 1px solid #8885A5; + border: 1px solid #B0B2CF; margin: 2px 0px 2px 0; padding: 2px 10px; white-space: nowrap; @@ -334,14 +334,14 @@ td.indexkey { } td.indexvalue { - background-color: #D3D2DE; - border: 1px solid #8885A5; + background-color: #E4E4EE; + border: 1px solid #B0B2CF; padding: 2px 10px; margin: 2px 0px; } tr.memlist { - background-color: #D8D7E1; + background-color: #E7E7F0; } p.formulaDsp { @@ -424,15 +424,15 @@ span.vhdllogic { } blockquote { - background-color: #ECECF1; - border-left: 2px solid #55516F; + background-color: #F3F4F8; + border-left: 2px solid #7F81B1; margin: 0 24px 0 4px; padding: 0 12px 0 16px; } blockquote.DocNodeRTL { border-left: 0; - border-right: 2px solid #55516F; + border-right: 2px solid #7F81B1; margin: 0 4px 0 24px; padding: 0 16px 0 12px; } @@ -465,18 +465,18 @@ td.tiny { .dirtab { padding: 4px; border-collapse: collapse; - border: 1px solid #5C5878; + border: 1px solid #878AB6; } th.dirtab { - background: #D3D2DE; + background: #E4E4EE; font-weight: bold; } hr { height: 0px; border: none; - border-top: 1px solid #181720; + border-top: 1px solid #3C3E63; } hr.footer { @@ -511,7 +511,7 @@ table.memberdecls { .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F1F1F4; + background-color: #F7F7FA; border: none; margin: 4px; padding: 1px 0 0 8px; @@ -523,7 +523,7 @@ table.memberdecls { } .memSeparator { - border-bottom: 1px solid #B7B5C8; + border-bottom: 1px solid #D1D2E3; line-height: 1px; margin: 0px; padding: 0px; @@ -538,7 +538,7 @@ table.memberdecls { } .memTemplParams { - color: #15141C; + color: #37395B; white-space: nowrap; font-size: 80%; } @@ -551,15 +551,15 @@ table.memberdecls { .memtitle { padding: 8px; - border-top: 1px solid #615D7F; - border-left: 1px solid #615D7F; - border-right: 1px solid #615D7F; + border-top: 1px solid #8D8FBA; + border-left: 1px solid #8D8FBA; + border-right: 1px solid #8D8FBA; border-top-right-radius: 4px; border-top-left-radius: 4px; margin-bottom: -1px; background-image: url('nav_f.png'); background-repeat: repeat-x; - background-color: #C0BECF; + background-color: #D8D8E7; line-height: 1.25; font-weight: 300; float:left; @@ -574,14 +574,14 @@ table.memberdecls { .memtemplate { font-size: 80%; - color: #15141C; + color: #37395B; font-weight: normal; margin-left: 9px; } .memnav { - background-color: #D3D2DE; - border: 1px solid #5C5878; + background-color: #E4E4EE; + border: 1px solid #878AB6; text-align: center; margin: 2px; margin-right: 15px; @@ -619,14 +619,14 @@ table.memberdecls { } .memproto, dl.reflist dt { - border-top: 1px solid #615D7F; - border-left: 1px solid #615D7F; - border-right: 1px solid #615D7F; + border-top: 1px solid #8D8FBA; + border-left: 1px solid #8D8FBA; + border-right: 1px solid #8D8FBA; padding: 6px 0px 6px 0px; - color: #030304; + color: #141421; font-weight: bold; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-color: #B9B7CA; + background-color: #D3D4E4; /* opera specific markup */ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); border-top-right-radius: 4px; @@ -645,15 +645,15 @@ table.memberdecls { } .memdoc, dl.reflist dd { - border-bottom: 1px solid #615D7F; - border-left: 1px solid #615D7F; - border-right: 1px solid #615D7F; + border-bottom: 1px solid #8D8FBA; + border-left: 1px solid #8D8FBA; + border-right: 1px solid #8D8FBA; padding: 6px 10px 2px 10px; - background-color: #F7F6F8; + background-color: #FAFAFC; border-top-width: 0; background-image:url('nav_g.png'); background-repeat:repeat-x; - background-color: #FFFFFE; + background-color: #FFFFFF; /* opera specific markup */ border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; @@ -736,11 +736,11 @@ span.mlabels { } span.mlabel { - background-color: #312F41; - border-top:1px solid #1F1D28; - border-left:1px solid #1F1D28; - border-right:1px solid #8885A5; - border-bottom:1px solid #8885A5; + background-color: #56598E; + border-top:1px solid #43466F; + border-left:1px solid #43466F; + border-right:1px solid #B0B2CF; + border-bottom:1px solid #B0B2CF; text-shadow: none; color: white; margin-right: 4px; @@ -759,8 +759,8 @@ span.mlabel { div.directory { margin: 10px 0px; - border-top: 1px solid #55516F; - border-bottom: 1px solid #55516F; + border-top: 1px solid #7F81B1; + border-bottom: 1px solid #7F81B1; width: 100%; } @@ -798,7 +798,7 @@ div.directory { .directory tr.even { padding-left: 6px; - background-color: #ECECF1; + background-color: #F3F4F8; } .directory img { @@ -816,11 +816,11 @@ div.directory { cursor: pointer; padding-left: 2px; padding-right: 2px; - color: #0D0D12; + color: #2C2D48; } .arrow { - color: #55516F; + color: #7F81B1; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; @@ -840,7 +840,7 @@ div.directory { height: 14px; width: 16px; display: inline-block; - background-color: #312F41; + background-color: #56598E; color: white; text-align: center; border-radius: 4px; @@ -905,7 +905,7 @@ div.dynheader { address { font-style: normal; - color: #040406; + color: #181929; } table.doxtable caption { @@ -919,13 +919,13 @@ table.doxtable { } table.doxtable td, table.doxtable th { - border: 1px solid #050507; + border: 1px solid #1B1C2D; padding: 3px 7px 2px; } table.doxtable th { - background-color: #0A0A0D; - color: #FFFFFE; + background-color: #26273E; + color: #FFFFFF; font-size: 110%; padding-bottom: 4px; padding-top: 5px; @@ -934,7 +934,7 @@ table.doxtable th { table.fieldtable { /*width: 100%;*/ margin-bottom: 10px; - border: 1px solid #615D7F; + border: 1px solid #8D8FBA; border-spacing: 0px; -moz-border-radius: 4px; -webkit-border-radius: 4px; @@ -950,8 +950,8 @@ table.fieldtable { .fieldtable td.fieldtype, .fieldtable td.fieldname { white-space: nowrap; - border-right: 1px solid #615D7F; - border-bottom: 1px solid #615D7F; + border-right: 1px solid #8D8FBA; + border-bottom: 1px solid #8D8FBA; vertical-align: top; } @@ -960,7 +960,7 @@ table.fieldtable { } .fieldtable td.fielddoc { - border-bottom: 1px solid #615D7F; + border-bottom: 1px solid #8D8FBA; /*width: 100%;*/ } @@ -979,9 +979,9 @@ table.fieldtable { .fieldtable th { background-image:url('nav_f.png'); background-repeat:repeat-x; - background-color: #C0BECF; + background-color: #D8D8E7; font-size: 90%; - color: #030304; + color: #141421; padding-bottom: 4px; padding-top: 5px; text-align:left; @@ -992,7 +992,7 @@ table.fieldtable { -webkit-border-top-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; - border-bottom: 1px solid #615D7F; + border-bottom: 1px solid #8D8FBA; } @@ -1014,8 +1014,8 @@ table.fieldtable { background-position: 0 -5px; height:30px; line-height:30px; - color:#444159; - border:solid 1px #8481A2; + color:#6A6DA4; + border:solid 1px #ADAFCD; overflow:hidden; margin:0px; padding:0px; @@ -1030,7 +1030,7 @@ table.fieldtable { background-image:url('bc_s.png'); background-repeat:no-repeat; background-position:right; - color:#09090C; + color:#24253C; } .navpath li.navelem a @@ -1039,7 +1039,7 @@ table.fieldtable { display:block; text-decoration: none; outline: none; - color: #040305; + color: #171726; font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); text-decoration: none; @@ -1047,7 +1047,7 @@ table.fieldtable { .navpath li.navelem a:hover { - color:#2B2938; + color:#505384; } .navpath li.footer @@ -1059,7 +1059,7 @@ table.fieldtable { background-image:none; background-repeat:no-repeat; background-position:right; - color:#09090C; + color:#24253C; font-size: 8pt; } @@ -1106,9 +1106,9 @@ div.header { background-image:url('nav_h.png'); background-repeat:repeat-x; - background-color: #F1F1F4; + background-color: #F7F7FA; margin: 0px; - border-bottom: 1px solid #8885A5; + border-bottom: 1px solid #B0B2CF; } div.headertitle @@ -1303,7 +1303,7 @@ dl.section dd { padding: 0px; margin: 0px; width: 100%; - border-bottom: 1px solid #1F1D28; + border-bottom: 1px solid #43466F; } .image @@ -1338,7 +1338,7 @@ dl.section dd { div.zoom { - border: 1px solid #494660; + border: 1px solid #7174A8; } dl.citelist { @@ -1346,7 +1346,7 @@ dl.citelist { } dl.citelist dt { - color:#08070A; + color:#212236; float:left; font-weight:bold; margin-right:10px; @@ -1360,8 +1360,8 @@ dl.citelist dd { div.toc { padding: 14px 25px; - background-color: #E7E6ED; - border: 1px solid #ACA9C0; + background-color: #F0F1F6; + border: 1px solid #CACBDE; border-radius: 7px 7px 7px 7px; float: right; height: auto; @@ -1390,7 +1390,7 @@ div.toc li { div.toc h3 { font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #15141C; + color: #37395B; border-bottom: 0 none; margin: 0; } @@ -1550,7 +1550,7 @@ tr.heading h2 { } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #FFFFFE; + border-top-color: #FFFFFF; border-width: 10px; margin: 0px -10px; } @@ -1578,7 +1578,7 @@ tr.heading h2 { } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #FFFFFE; + border-bottom-color: #FFFFFF; border-width: 10px; margin: 0px -10px; } @@ -1605,7 +1605,7 @@ tr.heading h2 { left: 100%; } #powerTip.e:after { - border-left-color: #FFFFFE; + border-left-color: #FFFFFF; border-width: 10px; top: 50%; margin-top: -10px; @@ -1621,7 +1621,7 @@ tr.heading h2 { right: 100%; } #powerTip.w:after { - border-right-color: #FFFFFE; + border-right-color: #FFFFFF; border-width: 10px; top: 50%; margin-top: -10px; @@ -1662,7 +1662,7 @@ table.markdownTable { } table.markdownTable td, table.markdownTable th { - border: 1px solid #050507; + border: 1px solid #1B1C2D; padding: 3px 7px 2px; } @@ -1670,13 +1670,13 @@ table.markdownTableHead tr { } table.markdownTableBodyLeft td, table.markdownTable th { - border: 1px solid #050507; + border: 1px solid #1B1C2D; padding: 3px 7px 2px; } th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { - background-color: #0A0A0D; - color: #FFFFFE; + background-color: #26273E; + color: #FFFFFF; font-size: 110%; padding-bottom: 4px; padding-top: 5px; @@ -1702,7 +1702,7 @@ table.markdownTable { } table.markdownTable td, table.markdownTable th { - border: 1px solid #050507; + border: 1px solid #1B1C2D; padding: 3px 7px 2px; } @@ -1710,8 +1710,8 @@ table.markdownTable tr { } th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: #0A0A0D; - color: #FFFFFE; + background-color: #26273E; + color: #FFFFFF; font-size: 110%; padding-bottom: 4px; padding-top: 5px; diff --git a/docs/doxygen.png b/docs/doxygen.png index cdbfcc6..7869a5d 100644 Binary files a/docs/doxygen.png and b/docs/doxygen.png differ diff --git a/docs/files.html b/docs/files.html index 7f56180..1022f13 100644 --- a/docs/files.html +++ b/docs/files.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
@@ -113,7 +113,9 @@ $(document).ready(function(){initNavTree('files.html','');});  HelloWorldModule.cs  Http404Module.cs  IHttpModule.cs - HttpMessage.cs + PostModule.cs + Cookie.cs + HttpMessage.cs   WebSockets   ClientModules  ChatModule.cs @@ -163,11 +165,17 @@ $(document).ready(function(){initNavTree('files.html','');});  TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs  TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs  TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -  netcoreapp2.1 - MTSC.AssemblyInfo.cs - TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs - TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs - TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs +  netcoreapp2.0 + MTSC.AssemblyInfo.cs +  netcoreapp2.1 + MTSC.AssemblyInfo.cs + TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs + TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs + TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs +  netcoreapp3.0 + MTSC.AssemblyInfo.cs +  netstandard2.0 + MTSC.AssemblyInfo.cs   Server   Handlers  BroadcastHandler.cs diff --git a/docs/folderclosed.png b/docs/folderclosed.png index 956676a..513cf91 100644 Binary files a/docs/folderclosed.png and b/docs/folderclosed.png differ diff --git a/docs/folderopen.png b/docs/folderopen.png index a92943b..2c8acf4 100644 Binary files a/docs/folderopen.png and b/docs/folderopen.png differ diff --git a/docs/functions.html b/docs/functions.html index e990dd7..133f78a 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -31,7 +31,7 @@ Logo
MTSC -  1.0.0 +  1.0.5
Build TCP servers out of modules with handlers for communication, exception and logging.
@@ -125,6 +125,9 @@ $(document).ready(function(){initNavTree('functions.html','');});
  • AddWebsocketHandler() : MTSC.Server.Handlers.WebsocketHandler
  • +
  • Attributes +: MTSC.Common.Http.Cookie +
  • @@ -135,6 +138,18 @@ $(document).ready(function(){initNavTree('functions.html','');});
  • BroadcastHandler() : MTSC.Client.Handlers.BroadcastHandler
  • +
  • BuildCookieBytes() +: MTSC.Common.Http.Cookie +
  • +
  • BuildCookieString() +: MTSC.Common.Http.Cookie +
  • +
  • BuildRequest() +: MTSC.Common.Http.HttpMessage +
  • +
  • BuildResponse() +: MTSC.Common.Http.HttpMessage +
  • @@ -166,7 +181,13 @@ $(document).ready(function(){initNavTree('functions.html','');}); , MTSC.Common.WebSockets.ServerModules.IWebsocketModule
  • ContainsHeader() -: MTSC.Common.Http.HttpMessage +: MTSC.Common.Http.HttpMessage +
  • +
  • Cookie() +: MTSC.Common.Http.Cookie +
  • +
  • Cookies +: MTSC.Common.Http.HttpMessage
  • @@ -209,12 +230,6 @@ $(document).ready(function(){initNavTree('functions.html','');});
  • GetPostForm() : MTSC.Common.Http.HttpMessage
  • -
  • GetRequest() -: MTSC.Common.Http.HttpMessage -
  • -
  • GetResponse() -: MTSC.Common.Http.HttpMessage -
  • @@ -253,6 +268,13 @@ $(document).ready(function(){initNavTree('functions.html','');}); +

    - k -

    + +

    - l -

    +

    - v -

    + +

    - w -

    @@ -160,7 +172,10 @@ $(document).ready(function(){initNavTree('functions_func.html','');}); , MTSC.Common.WebSockets.ServerModules.IWebsocketModule
  • ContainsHeader() -: MTSC.Common.Http.HttpMessage +: MTSC.Common.Http.HttpMessage +
  • +
  • Cookie() +: MTSC.Common.Http.Cookie
  • @@ -190,12 +205,6 @@ $(document).ready(function(){initNavTree('functions_func.html','');});
  • GetPostForm() : MTSC.Common.Http.HttpMessage
  • -
  • GetRequest() -: MTSC.Common.Http.HttpMessage -
  • -
  • GetResponse() -: MTSC.Common.Http.HttpMessage -
  • diff --git a/docs/functions_prop.html b/docs/functions_prop.html index cdb8098..b19f56b 100644 --- a/docs/functions_prop.html +++ b/docs/functions_prop.html @@ -31,7 +31,7 @@ Logo
    MTSC -  1.0.0 +  1.0.5
    Build TCP servers out of modules with handlers for communication, exception and logging.
    @@ -89,12 +89,18 @@ $(document).ready(function(){initNavTree('functions_prop.html','');});
     
    diff --git a/docs/graph_legend.html b/docs/graph_legend.html index b8ad157..0092343 100644 --- a/docs/graph_legend.html +++ b/docs/graph_legend.html @@ -31,7 +31,7 @@ Logo
    MTSC -  1.0.0 +  1.0.5
    Build TCP servers out of modules with handlers for communication, exception and logging.
    diff --git a/docs/hierarchy.html b/docs/hierarchy.html index 0f446c6..dbabb70 100644 --- a/docs/hierarchy.html +++ b/docs/hierarchy.html @@ -31,7 +31,7 @@ Logo
    MTSC -  1.0.0 +  1.0.5
    Build TCP servers out of modules with handlers for communication, exception and logging.
    @@ -96,46 +96,48 @@ $(document).ready(function(){initNavTree('hierarchy.html','');});
    [detail level 12]
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     CMTSC.Client.ClientBase class for TCP Client
     CMTSC.Server.ClientDataStructure containing client information
     CException
     CMTSC.Exceptions.InvalidFirstByteExceptionException in case of first invalid byte for websocket communication
     CMTSC.Exceptions.InvalidHeaderExceptionException for invalid headers
     CMTSC.Exceptions.InvalidHttpVersionExceptionException in case of Invalid HTTP Version
     CMTSC.Exceptions.InvalidPostFormExceptionException for invalid post forms
     CMTSC.Exceptions.InvalidRequestURIExceptionException cause by an invalid request URI
     CMTSC.Exceptions.InvalidStatusCodeExceptionException for invalid response status code
     CMTSC.Exceptions.InvalidWebsocketFormatException
     CMTSC.Exceptions.MethodInvalidExceptionInvalid HTTP Method Exception
     CMTSC.Exceptions.NoDataException
     CMTSC.Common.Http.HttpMessage
     CMTSC.Exceptions.IExceptionHandlerHandler to be used for handling exception
     CMTSC.Exceptions.ExceptionConsoleLoggerLogs the received exceptions to the console
     CMTSC.Exceptions.ExceptionThrowerThrows all handled exceptions
     CMTSC.Client.Handlers.IHandlerHandler interface for client communication
     CMTSC.Client.Handlers.BroadcastHandler
     CMTSC.Client.Handlers.EncryptionHandler
     CMTSC.Client.Handlers.HttpHandlerHandler for handling client http communication
     CMTSC.Client.Handlers.WebsocketHandlerHandler implementing websocket protocol
     CMTSC.Server.Handlers.IHandlerInterface for communication handlers
     CMTSC.Server.Handlers.BroadcastHandlerBroadcast handler
     CMTSC.Server.Handlers.EncryptionHandlerHandler that encrypts the communication
     CMTSC.Server.Handlers.HttpHandlerHandler for handling server http requests
     CMTSC.Server.Handlers.WebsocketHandler
     CMTSC.Common.Http.ServerModules.IHttpModuleInterface for Http modules used by the server http handler
     CMTSC.Common.Http.ServerModules.FileServerModule
     CMTSC.Common.Http.ServerModules.HelloWorldModule
     CMTSC.Common.Http.ServerModules.Http404ModuleSimple module that returns status code 404
     CMTSC.Common.Http.ClientModules.IHttpModule
     CMTSC.Logging.ILoggerInterface for loggers
     CMTSC.Logging.ConsoleLoggerBasic logger that outputs the log messages to the console
     CMTSC.Logging.DebugConsoleLogger
     CMTSC.Common.WebSockets.ClientModules.IWebsocketModuleInterface for websocket modules
     CMTSC.Common.WebSockets.ClientModules.ChatModule
     CMTSC.Common.WebSockets.ServerModules.IWebsocketModule
     CMTSC.Common.WebSockets.ServerModules.BroadcastModule
     CMTSC.Common.WebSockets.ServerModules.EchoModule
     CMTSC.Message
     CMTSC.Server.ServerBasic server class to handle TCP connections
     CMTSC.Common.WebSockets.WebsocketMessageClass containing the bytes of a websocket received message
     CMTSC.Common.Http.CookieClass for HTTP cookies
     CException
     CMTSC.Exceptions.InvalidFirstByteExceptionException in case of first invalid byte for websocket communication
     CMTSC.Exceptions.InvalidHeaderExceptionException for invalid headers
     CMTSC.Exceptions.InvalidHttpVersionExceptionException in case of Invalid HTTP Version
     CMTSC.Exceptions.InvalidPostFormExceptionException for invalid post forms
     CMTSC.Exceptions.InvalidRequestURIExceptionException cause by an invalid request URI
     CMTSC.Exceptions.InvalidStatusCodeExceptionException for invalid response status code
     CMTSC.Exceptions.InvalidWebsocketFormatException
     CMTSC.Exceptions.MethodInvalidExceptionInvalid HTTP Method Exception
     CMTSC.Exceptions.NoDataException
     CMTSC.Common.Http.HttpMessage
     CMTSC.Exceptions.IExceptionHandlerHandler to be used for handling exception
     CMTSC.Exceptions.ExceptionConsoleLoggerLogs the received exceptions to the console
     CMTSC.Exceptions.ExceptionThrowerThrows all handled exceptions
     CMTSC.Client.Handlers.IHandlerHandler interface for client communication
     CMTSC.Client.Handlers.BroadcastHandler
     CMTSC.Client.Handlers.EncryptionHandler
     CMTSC.Client.Handlers.HttpHandlerHandler for handling client http communication
     CMTSC.Client.Handlers.WebsocketHandlerHandler implementing websocket protocol
     CMTSC.Server.Handlers.IHandlerInterface for communication handlers
     CMTSC.Server.Handlers.BroadcastHandlerBroadcast handler
     CMTSC.Server.Handlers.EncryptionHandlerHandler that encrypts the communication
     CMTSC.Server.Handlers.HttpHandlerHandler for handling server http requests
     CMTSC.Server.Handlers.WebsocketHandler
     CMTSC.Common.Http.ServerModules.IHttpModuleInterface for Http modules used by the server http handler
     CMTSC.Common.Http.ServerModules.FileServerModule
     CMTSC.Common.Http.ServerModules.HelloWorldModule
     CMTSC.Common.Http.ServerModules.Http404ModuleSimple module that returns status code 404
     CMTSC.Common.Http.ServerModules.PostModule
     CMTSC.Common.Http.ClientModules.IHttpModule
     CMTSC.Logging.ILoggerInterface for loggers
     CMTSC.Logging.ConsoleLoggerBasic logger that outputs the log messages to the console
     CMTSC.Logging.DebugConsoleLogger
     CMTSC.Common.WebSockets.ClientModules.IWebsocketModuleInterface for websocket modules
     CMTSC.Common.WebSockets.ClientModules.ChatModule
     CMTSC.Common.WebSockets.ServerModules.IWebsocketModule
     CMTSC.Common.WebSockets.ServerModules.BroadcastModule
     CMTSC.Common.WebSockets.ServerModules.EchoModule
     CMTSC.Message
     CMTSC.Server.ServerBasic server class to handle TCP connections
     CMTSC.Common.WebSockets.WebsocketMessageClass containing the bytes of a websocket received message
    diff --git a/docs/hierarchy.js b/docs/hierarchy.js index feb89b9..4c6b2a1 100644 --- a/docs/hierarchy.js +++ b/docs/hierarchy.js @@ -2,6 +2,7 @@ var hierarchy = [ [ "MTSC.Client.Client", "dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html", null ], [ "MTSC.Server.ClientData", "d4/dbb/class_m_t_s_c_1_1_server_1_1_client_data.html", null ], + [ "MTSC.Common.Http.Cookie", "d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html", null ], [ "Exception", null, [ [ "MTSC.Exceptions.InvalidFirstByteException", "d7/d18/class_m_t_s_c_1_1_exceptions_1_1_invalid_first_byte_exception.html", null ], [ "MTSC.Exceptions.InvalidHeaderException", "d0/d0e/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception.html", null ], @@ -33,7 +34,8 @@ var hierarchy = [ "MTSC.Common.Http.ServerModules.IHttpModule", "d8/da0/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module.html", [ [ "MTSC.Common.Http.ServerModules.FileServerModule", "d8/d56/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module.html", null ], [ "MTSC.Common.Http.ServerModules.HelloWorldModule", "d6/d98/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_hello_world_module.html", null ], - [ "MTSC.Common.Http.ServerModules.Http404Module", "dc/dd3/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_http404_module.html", null ] + [ "MTSC.Common.Http.ServerModules.Http404Module", "dc/dd3/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_http404_module.html", null ], + [ "MTSC.Common.Http.ServerModules.PostModule", "d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.html", null ] ] ], [ "MTSC.Common.Http.ClientModules.IHttpModule", "d5/d66/interface_m_t_s_c_1_1_common_1_1_http_1_1_client_modules_1_1_i_http_module.html", null ], [ "MTSC.Logging.ILogger", "d6/dcb/interface_m_t_s_c_1_1_logging_1_1_i_logger.html", [ diff --git a/docs/index.html b/docs/index.html index 3581ecb..300d1e1 100644 --- a/docs/index.html +++ b/docs/index.html @@ -31,7 +31,7 @@ Logo
    MTSC -  1.0.0 +  1.0.5
    Build TCP servers out of modules with handlers for communication, exception and logging.
    diff --git a/docs/inherit_graph_10.dot b/docs/inherit_graph_10.dot index d6879d3..98efc20 100644 --- a/docs/inherit_graph_10.dot +++ b/docs/inherit_graph_10.dot @@ -4,9 +4,23 @@ digraph "Graphical Class Hierarchy" edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; node [fontname="Helvetica",fontsize="10",shape=record]; rankdir="LR"; - Node0 [label="MTSC.Logging.ILogger",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d6/dcb/interface_m_t_s_c_1_1_logging_1_1_i_logger.html",tooltip="Interface for loggers."]; - Node0 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node1 [label="MTSC.Logging.ConsoleLogger",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.html",tooltip="Basic logger that outputs the log messages to the console."]; - Node0 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 [label="MTSC.Logging.DebugConsole\lLogger",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$da/dd0/class_m_t_s_c_1_1_logging_1_1_debug_console_logger.html",tooltip=" "]; + Node32 [label="Exception",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node32 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node0 [label="MTSC.Exceptions.InvalidFirst\lByteException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d7/d18/class_m_t_s_c_1_1_exceptions_1_1_invalid_first_byte_exception.html",tooltip="Exception in case of first invalid byte for websocket communication."]; + Node32 -> Node34 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node34 [label="MTSC.Exceptions.InvalidHeader\lException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d0/d0e/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception.html",tooltip="Exception for invalid headers."]; + Node32 -> Node35 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node35 [label="MTSC.Exceptions.InvalidHttp\lVersionException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d3/d73/class_m_t_s_c_1_1_exceptions_1_1_invalid_http_version_exception.html",tooltip="Exception in case of Invalid HTTP Version."]; + Node32 -> Node36 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node36 [label="MTSC.Exceptions.InvalidPost\lFormException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d9/dea/class_m_t_s_c_1_1_exceptions_1_1_invalid_post_form_exception.html",tooltip="Exception for invalid post forms."]; + Node32 -> Node37 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node37 [label="MTSC.Exceptions.InvalidRequest\lURIException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d6/dab/class_m_t_s_c_1_1_exceptions_1_1_invalid_request_u_r_i_exception.html",tooltip="Exception cause by an invalid request URI."]; + Node32 -> Node38 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node38 [label="MTSC.Exceptions.InvalidStatus\lCodeException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.html",tooltip="Exception for invalid response status code."]; + Node32 -> Node39 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node39 [label="MTSC.Exceptions.InvalidWebsocket\lFormatException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d6/d77/class_m_t_s_c_1_1_exceptions_1_1_invalid_websocket_format_exception.html",tooltip=" "]; + Node32 -> Node40 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node40 [label="MTSC.Exceptions.MethodInvalid\lException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$de/dab/class_m_t_s_c_1_1_exceptions_1_1_method_invalid_exception.html",tooltip="Invalid HTTP Method Exception."]; + Node32 -> Node41 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node41 [label="MTSC.Exceptions.NoDataException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$da/d6f/class_m_t_s_c_1_1_exceptions_1_1_no_data_exception.html",tooltip=" "]; } diff --git a/docs/inherit_graph_10.md5 b/docs/inherit_graph_10.md5 index c586e18..555d521 100644 --- a/docs/inherit_graph_10.md5 +++ b/docs/inherit_graph_10.md5 @@ -1 +1 @@ -13f6894d8efa3945a6c5ff69e1e493b2 \ No newline at end of file +13a8557e2b73e767ecaa396a075cc9af \ No newline at end of file diff --git a/docs/inherit_graph_11.dot b/docs/inherit_graph_11.dot index ea56372..d6879d3 100644 --- a/docs/inherit_graph_11.dot +++ b/docs/inherit_graph_11.dot @@ -4,5 +4,9 @@ digraph "Graphical Class Hierarchy" edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; node [fontname="Helvetica",fontsize="10",shape=record]; rankdir="LR"; - Node0 [label="MTSC.Message",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dc/dd4/struct_m_t_s_c_1_1_message.html",tooltip=" "]; + Node0 [label="MTSC.Logging.ILogger",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d6/dcb/interface_m_t_s_c_1_1_logging_1_1_i_logger.html",tooltip="Interface for loggers."]; + Node0 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 [label="MTSC.Logging.ConsoleLogger",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.html",tooltip="Basic logger that outputs the log messages to the console."]; + Node0 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="MTSC.Logging.DebugConsole\lLogger",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$da/dd0/class_m_t_s_c_1_1_logging_1_1_debug_console_logger.html",tooltip=" "]; } diff --git a/docs/inherit_graph_11.md5 b/docs/inherit_graph_11.md5 index af81dfa..c586e18 100644 --- a/docs/inherit_graph_11.md5 +++ b/docs/inherit_graph_11.md5 @@ -1 +1 @@ -02171c26cf8e34665f6a360fb7d0f31d \ No newline at end of file +13f6894d8efa3945a6c5ff69e1e493b2 \ No newline at end of file diff --git a/docs/inherit_graph_12.dot b/docs/inherit_graph_12.dot index c57cd2d..ea56372 100644 --- a/docs/inherit_graph_12.dot +++ b/docs/inherit_graph_12.dot @@ -4,5 +4,5 @@ digraph "Graphical Class Hierarchy" edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; node [fontname="Helvetica",fontsize="10",shape=record]; rankdir="LR"; - Node0 [label="MTSC.Server.ClientData",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d4/dbb/class_m_t_s_c_1_1_server_1_1_client_data.html",tooltip="Structure containing client information."]; + Node0 [label="MTSC.Message",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dc/dd4/struct_m_t_s_c_1_1_message.html",tooltip=" "]; } diff --git a/docs/inherit_graph_12.md5 b/docs/inherit_graph_12.md5 index 9b3ee48..af81dfa 100644 --- a/docs/inherit_graph_12.md5 +++ b/docs/inherit_graph_12.md5 @@ -1 +1 @@ -5a0302b990851c9dfaa465e5ce0197cf \ No newline at end of file +02171c26cf8e34665f6a360fb7d0f31d \ No newline at end of file diff --git a/docs/inherit_graph_13.dot b/docs/inherit_graph_13.dot index 1b80c71..c57cd2d 100644 --- a/docs/inherit_graph_13.dot +++ b/docs/inherit_graph_13.dot @@ -4,13 +4,5 @@ digraph "Graphical Class Hierarchy" edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; node [fontname="Helvetica",fontsize="10",shape=record]; rankdir="LR"; - Node0 [label="MTSC.Server.Handlers.IHandler",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.html",tooltip="Interface for communication handlers."]; - Node0 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node1 [label="MTSC.Server.Handlers.Broadcast\lHandler",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dc/d44/class_m_t_s_c_1_1_server_1_1_handlers_1_1_broadcast_handler.html",tooltip="Broadcast handler."]; - Node0 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 [label="MTSC.Server.Handlers.Encryption\lHandler",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d3/d04/class_m_t_s_c_1_1_server_1_1_handlers_1_1_encryption_handler.html",tooltip="Handler that encrypts the communication."]; - Node0 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node3 [label="MTSC.Server.Handlers.Http\lHandler",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d5/dde/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler.html",tooltip="Handler for handling server http requests."]; - Node0 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node4 [label="MTSC.Server.Handlers.Websocket\lHandler",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html",tooltip=" "]; + Node0 [label="MTSC.Server.ClientData",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d4/dbb/class_m_t_s_c_1_1_server_1_1_client_data.html",tooltip="Structure containing client information."]; } diff --git a/docs/inherit_graph_13.md5 b/docs/inherit_graph_13.md5 index cdb579c..9b3ee48 100644 --- a/docs/inherit_graph_13.md5 +++ b/docs/inherit_graph_13.md5 @@ -1 +1 @@ -94d4413498b18f671bdda7f18ce72aff \ No newline at end of file +5a0302b990851c9dfaa465e5ce0197cf \ No newline at end of file diff --git a/docs/inherit_graph_14.dot b/docs/inherit_graph_14.dot index 70ccaed..1b80c71 100644 --- a/docs/inherit_graph_14.dot +++ b/docs/inherit_graph_14.dot @@ -4,5 +4,13 @@ digraph "Graphical Class Hierarchy" edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; node [fontname="Helvetica",fontsize="10",shape=record]; rankdir="LR"; - Node0 [label="MTSC.Server.Server",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html",tooltip="Basic server class to handle TCP connections."]; + Node0 [label="MTSC.Server.Handlers.IHandler",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.html",tooltip="Interface for communication handlers."]; + Node0 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 [label="MTSC.Server.Handlers.Broadcast\lHandler",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dc/d44/class_m_t_s_c_1_1_server_1_1_handlers_1_1_broadcast_handler.html",tooltip="Broadcast handler."]; + Node0 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="MTSC.Server.Handlers.Encryption\lHandler",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d3/d04/class_m_t_s_c_1_1_server_1_1_handlers_1_1_encryption_handler.html",tooltip="Handler that encrypts the communication."]; + Node0 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="MTSC.Server.Handlers.Http\lHandler",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d5/dde/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler.html",tooltip="Handler for handling server http requests."]; + Node0 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="MTSC.Server.Handlers.Websocket\lHandler",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html",tooltip=" "]; } diff --git a/docs/inherit_graph_14.md5 b/docs/inherit_graph_14.md5 index 2ed35bf..cdb579c 100644 --- a/docs/inherit_graph_14.md5 +++ b/docs/inherit_graph_14.md5 @@ -1 +1 @@ -ed925efc6a067017bfee467c9037eb65 \ No newline at end of file +94d4413498b18f671bdda7f18ce72aff \ No newline at end of file diff --git a/docs/inherit_graph_15.dot b/docs/inherit_graph_15.dot new file mode 100644 index 0000000..70ccaed --- /dev/null +++ b/docs/inherit_graph_15.dot @@ -0,0 +1,8 @@ +digraph "Graphical Class Hierarchy" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node0 [label="MTSC.Server.Server",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html",tooltip="Basic server class to handle TCP connections."]; +} diff --git a/docs/inherit_graph_15.md5 b/docs/inherit_graph_15.md5 new file mode 100644 index 0000000..2ed35bf --- /dev/null +++ b/docs/inherit_graph_15.md5 @@ -0,0 +1 @@ +ed925efc6a067017bfee467c9037eb65 \ No newline at end of file diff --git a/docs/inherit_graph_3.dot b/docs/inherit_graph_3.dot index 2b53f51..ddbd2f1 100644 --- a/docs/inherit_graph_3.dot +++ b/docs/inherit_graph_3.dot @@ -4,5 +4,5 @@ digraph "Graphical Class Hierarchy" edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; node [fontname="Helvetica",fontsize="10",shape=record]; rankdir="LR"; - Node0 [label="MTSC.Common.Http.HttpMessage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html",tooltip=" "]; + Node0 [label="MTSC.Common.Http.Cookie",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html",tooltip="Class for HTTP cookies."]; } diff --git a/docs/inherit_graph_3.md5 b/docs/inherit_graph_3.md5 index b39a1e0..d6a991e 100644 --- a/docs/inherit_graph_3.md5 +++ b/docs/inherit_graph_3.md5 @@ -1 +1 @@ -95fefb2df2f99971b4e6cd93b0ed6b72 \ No newline at end of file +6f2a090e676eedf40cdf0aeb636afa4b \ No newline at end of file diff --git a/docs/inherit_graph_4.dot b/docs/inherit_graph_4.dot index cda76f7..2b53f51 100644 --- a/docs/inherit_graph_4.dot +++ b/docs/inherit_graph_4.dot @@ -4,11 +4,5 @@ digraph "Graphical Class Hierarchy" edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; node [fontname="Helvetica",fontsize="10",shape=record]; rankdir="LR"; - Node0 [label="MTSC.Common.Http.ServerModules.\lIHttpModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d8/da0/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module.html",tooltip="Interface for Http modules used by the server http handler."]; - Node0 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node1 [label="MTSC.Common.Http.ServerModules.\lFileServerModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d8/d56/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module.html",tooltip=" "]; - Node0 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 [label="MTSC.Common.Http.ServerModules.\lHelloWorldModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d6/d98/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_hello_world_module.html",tooltip=" "]; - Node0 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node3 [label="MTSC.Common.Http.ServerModules.\lHttp404Module",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dc/dd3/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_http404_module.html",tooltip="Simple module that returns status code 404."]; + Node0 [label="MTSC.Common.Http.HttpMessage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html",tooltip=" "]; } diff --git a/docs/inherit_graph_4.md5 b/docs/inherit_graph_4.md5 index f95ff8b..b39a1e0 100644 --- a/docs/inherit_graph_4.md5 +++ b/docs/inherit_graph_4.md5 @@ -1 +1 @@ -df2c4ff0303f2dd7024a84591bf8b090 \ No newline at end of file +95fefb2df2f99971b4e6cd93b0ed6b72 \ No newline at end of file diff --git a/docs/inherit_graph_5.dot b/docs/inherit_graph_5.dot index fd2b1f5..ade2663 100644 --- a/docs/inherit_graph_5.dot +++ b/docs/inherit_graph_5.dot @@ -4,7 +4,13 @@ digraph "Graphical Class Hierarchy" edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; node [fontname="Helvetica",fontsize="10",shape=record]; rankdir="LR"; - Node0 [label="MTSC.Common.WebSockets.Client\lModules.IWebsocketModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.html",tooltip="Interface for websocket modules."]; + Node0 [label="MTSC.Common.Http.ServerModules.\lIHttpModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d8/da0/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module.html",tooltip="Interface for Http modules used by the server http handler."]; Node0 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node1 [label="MTSC.Common.WebSockets.Client\lModules.ChatModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$df/def/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module.html",tooltip=" "]; + Node1 [label="MTSC.Common.Http.ServerModules.\lFileServerModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d8/d56/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_file_server_module.html",tooltip=" "]; + Node0 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="MTSC.Common.Http.ServerModules.\lHelloWorldModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d6/d98/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_hello_world_module.html",tooltip=" "]; + Node0 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="MTSC.Common.Http.ServerModules.\lHttp404Module",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dc/dd3/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_http404_module.html",tooltip="Simple module that returns status code 404."]; + Node0 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="MTSC.Common.Http.ServerModules.\lPostModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.html",tooltip=" "]; } diff --git a/docs/inherit_graph_5.md5 b/docs/inherit_graph_5.md5 index cd9ad42..d69565d 100644 --- a/docs/inherit_graph_5.md5 +++ b/docs/inherit_graph_5.md5 @@ -1 +1 @@ -86c031f667cd54526c238afee16c0112 \ No newline at end of file +2385de122e00ceab9f440cca27f49c2e \ No newline at end of file diff --git a/docs/inherit_graph_6.dot b/docs/inherit_graph_6.dot index e0dce3a..fd2b1f5 100644 --- a/docs/inherit_graph_6.dot +++ b/docs/inherit_graph_6.dot @@ -4,9 +4,7 @@ digraph "Graphical Class Hierarchy" edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; node [fontname="Helvetica",fontsize="10",shape=record]; rankdir="LR"; - Node0 [label="MTSC.Common.WebSockets.Server\lModules.IWebsocketModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d9/dc0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module.html",tooltip=" "]; + Node0 [label="MTSC.Common.WebSockets.Client\lModules.IWebsocketModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.html",tooltip="Interface for websocket modules."]; Node0 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node1 [label="MTSC.Common.WebSockets.Server\lModules.BroadcastModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d5/d0c/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_broadcast_module.html",tooltip=" "]; - Node0 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 [label="MTSC.Common.WebSockets.Server\lModules.EchoModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d4/d10/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_echo_module.html",tooltip=" "]; + Node1 [label="MTSC.Common.WebSockets.Client\lModules.ChatModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$df/def/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module.html",tooltip=" "]; } diff --git a/docs/inherit_graph_6.md5 b/docs/inherit_graph_6.md5 index 5f41b48..cd9ad42 100644 --- a/docs/inherit_graph_6.md5 +++ b/docs/inherit_graph_6.md5 @@ -1 +1 @@ -2468e5b6dba0dae41ac3f433cab83329 \ No newline at end of file +86c031f667cd54526c238afee16c0112 \ No newline at end of file diff --git a/docs/inherit_graph_7.dot b/docs/inherit_graph_7.dot index 88315c3..e0dce3a 100644 --- a/docs/inherit_graph_7.dot +++ b/docs/inherit_graph_7.dot @@ -4,5 +4,9 @@ digraph "Graphical Class Hierarchy" edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; node [fontname="Helvetica",fontsize="10",shape=record]; rankdir="LR"; - Node0 [label="MTSC.Common.WebSockets.Websocket\lMessage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html",tooltip="Class containing the bytes of a websocket received message."]; + Node0 [label="MTSC.Common.WebSockets.Server\lModules.IWebsocketModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d9/dc0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module.html",tooltip=" "]; + Node0 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 [label="MTSC.Common.WebSockets.Server\lModules.BroadcastModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d5/d0c/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_broadcast_module.html",tooltip=" "]; + Node0 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="MTSC.Common.WebSockets.Server\lModules.EchoModule",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d4/d10/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_echo_module.html",tooltip=" "]; } diff --git a/docs/inherit_graph_7.md5 b/docs/inherit_graph_7.md5 index 146f063..5f41b48 100644 --- a/docs/inherit_graph_7.md5 +++ b/docs/inherit_graph_7.md5 @@ -1 +1 @@ -ead5f90b6953cad6187b085d6d347302 \ No newline at end of file +2468e5b6dba0dae41ac3f433cab83329 \ No newline at end of file diff --git a/docs/inherit_graph_8.dot b/docs/inherit_graph_8.dot index 6757bd5..88315c3 100644 --- a/docs/inherit_graph_8.dot +++ b/docs/inherit_graph_8.dot @@ -4,9 +4,5 @@ digraph "Graphical Class Hierarchy" edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; node [fontname="Helvetica",fontsize="10",shape=record]; rankdir="LR"; - Node0 [label="MTSC.Exceptions.IException\lHandler",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d8/d5c/interface_m_t_s_c_1_1_exceptions_1_1_i_exception_handler.html",tooltip="Handler to be used for handling exception."]; - Node0 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node1 [label="MTSC.Exceptions.Exception\lConsoleLogger",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$df/d86/class_m_t_s_c_1_1_exceptions_1_1_exception_console_logger.html",tooltip="Logs the received exceptions to the console."]; - Node0 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 [label="MTSC.Exceptions.Exception\lThrower",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dc/d94/class_m_t_s_c_1_1_exceptions_1_1_exception_thrower.html",tooltip="Throws all handled exceptions."]; + Node0 [label="MTSC.Common.WebSockets.Websocket\lMessage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html",tooltip="Class containing the bytes of a websocket received message."]; } diff --git a/docs/inherit_graph_8.md5 b/docs/inherit_graph_8.md5 index 9d38802..146f063 100644 --- a/docs/inherit_graph_8.md5 +++ b/docs/inherit_graph_8.md5 @@ -1 +1 @@ -d34a5bcbe42ef5b9ee478a644139b625 \ No newline at end of file +ead5f90b6953cad6187b085d6d347302 \ No newline at end of file diff --git a/docs/inherit_graph_9.dot b/docs/inherit_graph_9.dot index e264c9b..6757bd5 100644 --- a/docs/inherit_graph_9.dot +++ b/docs/inherit_graph_9.dot @@ -4,23 +4,9 @@ digraph "Graphical Class Hierarchy" edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; node [fontname="Helvetica",fontsize="10",shape=record]; rankdir="LR"; - Node31 [label="Exception",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; - Node31 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node0 [label="MTSC.Exceptions.InvalidFirst\lByteException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d7/d18/class_m_t_s_c_1_1_exceptions_1_1_invalid_first_byte_exception.html",tooltip="Exception in case of first invalid byte for websocket communication."]; - Node31 -> Node33 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node33 [label="MTSC.Exceptions.InvalidHeader\lException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d0/d0e/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception.html",tooltip="Exception for invalid headers."]; - Node31 -> Node34 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node34 [label="MTSC.Exceptions.InvalidHttp\lVersionException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d3/d73/class_m_t_s_c_1_1_exceptions_1_1_invalid_http_version_exception.html",tooltip="Exception in case of Invalid HTTP Version."]; - Node31 -> Node35 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node35 [label="MTSC.Exceptions.InvalidPost\lFormException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d9/dea/class_m_t_s_c_1_1_exceptions_1_1_invalid_post_form_exception.html",tooltip="Exception for invalid post forms."]; - Node31 -> Node36 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node36 [label="MTSC.Exceptions.InvalidRequest\lURIException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d6/dab/class_m_t_s_c_1_1_exceptions_1_1_invalid_request_u_r_i_exception.html",tooltip="Exception cause by an invalid request URI."]; - Node31 -> Node37 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node37 [label="MTSC.Exceptions.InvalidStatus\lCodeException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.html",tooltip="Exception for invalid response status code."]; - Node31 -> Node38 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node38 [label="MTSC.Exceptions.InvalidWebsocket\lFormatException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d6/d77/class_m_t_s_c_1_1_exceptions_1_1_invalid_websocket_format_exception.html",tooltip=" "]; - Node31 -> Node39 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node39 [label="MTSC.Exceptions.MethodInvalid\lException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$de/dab/class_m_t_s_c_1_1_exceptions_1_1_method_invalid_exception.html",tooltip="Invalid HTTP Method Exception."]; - Node31 -> Node40 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node40 [label="MTSC.Exceptions.NoDataException",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$da/d6f/class_m_t_s_c_1_1_exceptions_1_1_no_data_exception.html",tooltip=" "]; + Node0 [label="MTSC.Exceptions.IException\lHandler",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$d8/d5c/interface_m_t_s_c_1_1_exceptions_1_1_i_exception_handler.html",tooltip="Handler to be used for handling exception."]; + Node0 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 [label="MTSC.Exceptions.Exception\lConsoleLogger",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$df/d86/class_m_t_s_c_1_1_exceptions_1_1_exception_console_logger.html",tooltip="Logs the received exceptions to the console."]; + Node0 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="MTSC.Exceptions.Exception\lThrower",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dc/d94/class_m_t_s_c_1_1_exceptions_1_1_exception_thrower.html",tooltip="Throws all handled exceptions."]; } diff --git a/docs/inherit_graph_9.md5 b/docs/inherit_graph_9.md5 index f7f2da1..9d38802 100644 --- a/docs/inherit_graph_9.md5 +++ b/docs/inherit_graph_9.md5 @@ -1 +1 @@ -193e167f630669478fd63d6abdb5fc97 \ No newline at end of file +d34a5bcbe42ef5b9ee478a644139b625 \ No newline at end of file diff --git a/docs/inherits.html b/docs/inherits.html index 35a5674..a2ab4a4 100644 --- a/docs/inherits.html +++ b/docs/inherits.html @@ -31,7 +31,7 @@ Logo
    MTSC -  1.0.0 +  1.0.5
    Build TCP servers out of modules with handlers for communication, exception and logging.
    @@ -96,34 +96,52 @@ $(document).ready(function(){initNavTree('hierarchy.html','');});

    Go to the textual class hierarchy

    - - - - - - - - - - - - +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    diff --git a/docs/menudata.js b/docs/menudata.js index b1c6970..f4900c5 100644 --- a/docs/menudata.js +++ b/docs/menudata.js @@ -40,6 +40,7 @@ var menudata={children:[ {text:"g",url:"functions.html#index_g"}, {text:"h",url:"functions.html#index_h"}, {text:"i",url:"functions.html#index_i"}, +{text:"k",url:"functions.html#index_k"}, {text:"l",url:"functions.html#index_l"}, {text:"m",url:"functions.html#index_m"}, {text:"o",url:"functions.html#index_o"}, @@ -48,6 +49,7 @@ var menudata={children:[ {text:"r",url:"functions.html#index_r"}, {text:"s",url:"functions.html#index_s"}, {text:"t",url:"functions.html#index_t"}, +{text:"v",url:"functions.html#index_v"}, {text:"w",url:"functions.html#index_w"}]}, {text:"Functions",url:"functions_func.html",children:[ {text:"a",url:"functions_func.html#index_a"}, diff --git a/docs/namespaces.html b/docs/namespaces.html index c7e8b64..73ccb4d 100644 --- a/docs/namespaces.html +++ b/docs/namespaces.html @@ -31,7 +31,7 @@ Logo
    MTSC -  1.0.0 +  1.0.5
    Build TCP servers out of modules with handlers for communication, exception and logging.
    diff --git a/docs/nav_f.png b/docs/nav_f.png index 3873003..7fe3be2 100644 Binary files a/docs/nav_f.png and b/docs/nav_f.png differ diff --git a/docs/nav_h.png b/docs/nav_h.png index 8903925..b1f4c18 100644 Binary files a/docs/nav_h.png and b/docs/nav_h.png differ diff --git a/docs/navtree.css b/docs/navtree.css index 9304b6a..f912a67 100644 --- a/docs/navtree.css +++ b/docs/navtree.css @@ -119,7 +119,7 @@ #nav-tree { background-image:url('nav_h.png'); background-repeat:repeat-x; - background-color: #F1F1F4; + background-color: #F7F7FA; -webkit-overflow-scrolling : touch; /* iOS 5+ */ } diff --git a/docs/navtreedata.js b/docs/navtreedata.js index 5a37e8f..aacfb3a 100644 --- a/docs/navtreedata.js +++ b/docs/navtreedata.js @@ -46,7 +46,7 @@ var NAVTREE = var NAVTREEINDEX = [ "annotated.html", -"de/d28/_invalid_http_version_exception_8cs_source.html" +"dd/d31/_release_2netcoreapp2_81_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/docs/navtreeindex0.js b/docs/navtreeindex0.js index b5f8b36..95be245 100644 --- a/docs/navtreeindex0.js +++ b/docs/navtreeindex0.js @@ -7,12 +7,24 @@ var NAVTREEINDEX0 = "d0/d0e/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception.html#aeac4f7f3e9afdebf3a112860f4ce64fe":[1,0,0,2,4,0], "d0/d0e/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception.html#af01fd292f76b7cc08613cb4b672200d7":[1,0,0,2,4,3], "d0/d0e/class_m_t_s_c_1_1_exceptions_1_1_invalid_header_exception.html#afaf49d77217b572db59bf4ece4c194a9":[1,0,0,2,4,2], +"d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.html":[1,0,0,1,0,1,4], +"d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.html#a76c97385f0ef849dc0fbdff91566ba20":[1,0,0,1,0,1,4,0], +"d0/d86/_cookie_8cs_source.html":[2,0,0,0,1,0,2], "d0/da0/_websocket_message_8cs_source.html":[2,0,0,0,1,1,2], +"d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html":[1,0,0,1,0,2], +"d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a1bbc642ddd7413051fcf97a12fde7532":[1,0,0,1,0,2,5], +"d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a3f97d9755a9bf8495a5729f6fc6f3f72":[1,0,0,1,0,2,6], +"d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a3fc35ad84d6aa9fecd1cde95b9d245fa":[1,0,0,1,0,2,1], +"d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a4262455e1b29c41598c1f8bf1c142b58":[1,0,0,1,0,2,2], +"d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a4894bfb3eb0a07374a1b2e6f24e98a3d":[1,0,0,1,0,2,4], +"d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a5497ca1025be0e4fa6b839f8fbb74628":[1,0,0,1,0,2,0], +"d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#ac189eb5a90e67754e153167bfc07618a":[1,0,0,1,0,2,3], "d1/d35/_client_2_handlers_2_websocket_handler_8cs_source.html":[2,0,0,0,0,0,4], "d1/d39/_invalid_websocket_format_exception_8cs_source.html":[2,0,0,0,2,9], "d1/d56/namespace_m_t_s_c_1_1_exceptions.html":[0,0,0,2], "d1/d56/namespace_m_t_s_c_1_1_exceptions.html":[1,0,0,2], "d1/d6d/_invalid_header_exception_8cs_source.html":[2,0,0,0,2,4], +"d1/d7f/_release_2netcoreapp3_80_2_m_t_s_c_8_assembly_info_8cs_source.html":[2,0,0,0,4,1,4,0], "d2/d00/_release_2net45_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html":[2,0,0,0,4,1,0,1], "d2/d29/_echo_module_8cs_source.html":[2,0,0,0,1,1,1,1], "d2/d2f/namespace_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules.html":[1,0,0,1,1,1], @@ -52,6 +64,7 @@ var NAVTREEINDEX0 = "d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#adc95de3549415e7dd8332710f3f1461e":[1,0,0,4,2,15], "d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#af4bb64b680d23d398f3f7e289569189d":[1,0,0,4,2,9], "d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#af7425affecbc0039273437e4ebb3fde1":[1,0,0,4,2,16], +"d3/d8d/_post_module_8cs_source.html":[2,0,0,0,1,0,1,4], "d3/d96/_client_2_handlers_2_i_handler_8cs_source.html":[2,0,0,0,0,0,3], "d3/d97/namespace_m_t_s_c_1_1_server.html":[0,0,0,4], "d3/d97/namespace_m_t_s_c_1_1_server.html":[1,0,0,4], @@ -81,12 +94,13 @@ var NAVTREEINDEX0 = "d5/d66/interface_m_t_s_c_1_1_common_1_1_http_1_1_client_modules_1_1_i_http_module.html":[1,0,0,1,0,0,0], "d5/d66/interface_m_t_s_c_1_1_common_1_1_http_1_1_client_modules_1_1_i_http_module.html#afc38289a8fef5bf3c11bfa6c26bf129d":[1,0,0,1,0,0,0,0], "d5/d6c/_helper_functions_8cs_source.html":[2,0,0,0,7], -"d5/d98/_http_message_8cs_source.html":[2,0,0,0,1,0,2], +"d5/d98/_http_message_8cs_source.html":[2,0,0,0,1,0,3], "d5/dc6/_invalid_post_form_exception_8cs_source.html":[2,0,0,0,2,6], "d5/dde/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler.html":[1,0,0,4,0,2], "d5/dde/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler.html#abee4834854edfd4920ce31ba08a649a8":[1,0,0,4,0,2,2], "d5/dde/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler.html#aee1fa73f5307b91c9878b1b2e64328a6":[1,0,0,4,0,2,0], "d5/dde/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler.html#af4e9ae4dea869ad9a487b19f776b07b7":[1,0,0,4,0,2,1], +"d5/df4/_release_2netstandard2_80_2_m_t_s_c_8_assembly_info_8cs_source.html":[2,0,0,0,4,1,5,0], "d6/d77/class_m_t_s_c_1_1_exceptions_1_1_invalid_websocket_format_exception.html":[1,0,0,2,9], "d6/d77/class_m_t_s_c_1_1_exceptions_1_1_invalid_websocket_format_exception.html#a1deace99a8204bf5f17c6064af3ef1b4":[1,0,0,2,9,2], "d6/d77/class_m_t_s_c_1_1_exceptions_1_1_invalid_websocket_format_exception.html#a26f46b409f871467f861c7ac89b15ec3":[1,0,0,2,9,1], @@ -110,10 +124,10 @@ var NAVTREEINDEX0 = "d7/d18/class_m_t_s_c_1_1_exceptions_1_1_invalid_first_byte_exception.html#adb318b63d0e9be8124be01336397185a":[1,0,0,2,3,3], "d7/d42/_debug_2net48_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html":[2,0,0,0,4,0,0,3], "d7/d60/_client_modules_2_i_websocket_module_8cs_source.html":[2,0,0,0,1,1,0,1], -"d7/db9/_release_2netcoreapp2_81_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html":[2,0,0,0,4,1,2,1], +"d7/db9/_release_2netcoreapp2_81_2_temporary_generated_file__036_c0_b5_b-1481-4323-8_d20-8_f5_a_d_c_b23_d92_8cs_source.html":[2,0,0,0,4,1,3,1], "d7/dcd/namespace_m_t_s_c.html":[0,0,0], "d7/dcd/namespace_m_t_s_c.html":[1,0,0], -"d8/d00/_release_2netcoreapp2_81_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html":[2,0,0,0,4,1,2,2], +"d8/d00/_release_2netcoreapp2_81_2_temporary_generated_file__5937a670-0e60-4077-877b-f7221da3dda1_8cs_source.html":[2,0,0,0,4,1,3,2], "d8/d00/_server_2_handlers_2_websocket_handler_8cs_source.html":[2,0,0,0,5,0,4], "d8/d17/_invalid_request_u_r_i_exception_8cs_source.html":[2,0,0,0,2,7], "d8/d3e/_client_2_handlers_2_broadcast_handler_8cs_source.html":[2,0,0,0,0,0,0], @@ -170,8 +184,8 @@ var NAVTREEINDEX0 = "da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.html#a6a993648d2c8d6406ffa674e3f5b7bd1":[1,0,0,4,0,3,1], "da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.html#ac96e4842233e811c6991fd1e46ca1314":[1,0,0,4,0,3,2], "da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.html#ad90301b90fdf8fdebcccec08a086358d":[1,0,0,4,0,3,4], -"da/d82/namespace_m_t_s_c_1_1_client_1_1_handlers.html":[1,0,0,0,0], "da/d82/namespace_m_t_s_c_1_1_client_1_1_handlers.html":[0,0,0,0,0], +"da/d82/namespace_m_t_s_c_1_1_client_1_1_handlers.html":[1,0,0,0,0], "da/db3/namespace_m_t_s_c_1_1_common_1_1_http_1_1_client_modules.html":[0,0,0,1,0,0], "da/db3/namespace_m_t_s_c_1_1_common_1_1_http_1_1_client_modules.html":[1,0,0,1,0,0], "da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html":[1,0,0,4,0,4], @@ -235,19 +249,5 @@ var NAVTREEINDEX0 = "dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.html#a01f67a29451915afa859be4680d1a056":[1,0,0,1,1,0,1,0], "dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.html#a5ed526a19ac6cb5eda22740fdbf166ea":[1,0,0,1,1,0,1,2], "dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.html#accef43d19c0b3d3de384c5b6c18cde4c":[1,0,0,1,1,0,1,1], -"dd/d2f/_communication_primitives_8cs_source.html":[2,0,0,0,6], -"dd/d31/_release_2netcoreapp2_81_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html":[2,0,0,0,4,1,2,3], -"dd/d39/_release_2netcoreapp2_81_2_m_t_s_c_8_assembly_info_8cs_source.html":[2,0,0,0,4,1,2,0], -"dd/d58/_client_modules_2_i_http_module_8cs_source.html":[2,0,0,0,1,0,0,0], -"dd/d5c/class_m_t_s_c_1_1_client_1_1_handlers_1_1_encryption_handler.html":[1,0,0,0,0,1], -"dd/d5c/class_m_t_s_c_1_1_client_1_1_handlers_1_1_encryption_handler.html#a8eb742cf50a76a170acc597ab1a4ce9d":[1,0,0,0,0,1,0], -"dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.html":[1,0,0,2,8], -"dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.html#a407b38e2dfbb41a12b20786855e9d494":[1,0,0,2,8,3], -"dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.html#a8c357d700153e9ffebd4a2e1a0e53e57":[1,0,0,2,8,2], -"dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.html#ae9a4c00231200b4b5ef149c6f83c01d0":[1,0,0,2,8,0], -"dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.html#af8d84871a40ac7e99c7e4abee4dfbab9":[1,0,0,2,8,1], -"dd/dc4/_debug_2netcoreapp2_81_2_m_t_s_c_8_assembly_info_8cs_source.html":[2,0,0,0,4,0,1,0], -"dd/de1/_file_server_module_8cs_source.html":[2,0,0,0,1,0,1,0], -"dd/df1/_invalid_first_byte_exception_8cs_source.html":[2,0,0,0,2,3], -"de/d19/_exception_thrower_8cs_source.html":[2,0,0,0,2,1] +"dd/d2f/_communication_primitives_8cs_source.html":[2,0,0,0,6] }; diff --git a/docs/navtreeindex1.js b/docs/navtreeindex1.js index 768ab3e..db3d698 100644 --- a/docs/navtreeindex1.js +++ b/docs/navtreeindex1.js @@ -1,7 +1,22 @@ var NAVTREEINDEX1 = { +"dd/d31/_release_2netcoreapp2_81_2_temporary_generated_file___e7_a71_f73-0_f8_d-4_b9_b-_b56_e-8_e70_b10_b_c5_d3_8cs_source.html":[2,0,0,0,4,1,3,3], +"dd/d39/_release_2netcoreapp2_81_2_m_t_s_c_8_assembly_info_8cs_source.html":[2,0,0,0,4,1,3,0], +"dd/d58/_client_modules_2_i_http_module_8cs_source.html":[2,0,0,0,1,0,0,0], +"dd/d5c/class_m_t_s_c_1_1_client_1_1_handlers_1_1_encryption_handler.html":[1,0,0,0,0,1], +"dd/d5c/class_m_t_s_c_1_1_client_1_1_handlers_1_1_encryption_handler.html#a8eb742cf50a76a170acc597ab1a4ce9d":[1,0,0,0,0,1,0], +"dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.html":[1,0,0,2,8], +"dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.html#a407b38e2dfbb41a12b20786855e9d494":[1,0,0,2,8,3], +"dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.html#a8c357d700153e9ffebd4a2e1a0e53e57":[1,0,0,2,8,2], +"dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.html#ae9a4c00231200b4b5ef149c6f83c01d0":[1,0,0,2,8,0], +"dd/d91/class_m_t_s_c_1_1_exceptions_1_1_invalid_status_code_exception.html#af8d84871a40ac7e99c7e4abee4dfbab9":[1,0,0,2,8,1], +"dd/dc4/_debug_2netcoreapp2_81_2_m_t_s_c_8_assembly_info_8cs_source.html":[2,0,0,0,4,0,1,0], +"dd/de1/_file_server_module_8cs_source.html":[2,0,0,0,1,0,1,0], +"dd/df1/_invalid_first_byte_exception_8cs_source.html":[2,0,0,0,2,3], +"de/d19/_exception_thrower_8cs_source.html":[2,0,0,0,2,1], "de/d28/_invalid_http_version_exception_8cs_source.html":[2,0,0,0,2,5], "de/d73/_method_invalid_exception_8cs_source.html":[2,0,0,0,2,10], +"de/d8e/_release_2netcoreapp2_80_2_m_t_s_c_8_assembly_info_8cs_source.html":[2,0,0,0,4,1,2,0], "de/d91/namespace_m_t_s_c_1_1_common_1_1_web_sockets.html":[0,0,0,1,1], "de/d91/namespace_m_t_s_c_1_1_common_1_1_web_sockets.html":[1,0,0,1,1], "de/dab/class_m_t_s_c_1_1_exceptions_1_1_method_invalid_exception.html":[1,0,0,2,10], @@ -34,134 +49,137 @@ var NAVTREEINDEX1 = "df/dda/namespace_m_t_s_c_1_1_common_1_1_http_1_1_server_modules.html":[0,0,0,1,0,1], "df/def/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module.html":[1,0,0,1,1,0,0], "df/def/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module.html#a693ca9f498725ee8acd15e04d78089ff":[1,0,0,1,1,0,0,0], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html":[1,0,0,1,0,2], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a020cf8a3319bad005fb7dc66cfe40ce6":[1,0,0,1,0,2,14], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a039d2c6c8d2a0d26ca0432fbe0a372cf":[1,0,0,1,0,2,19], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a1dc48f77e0badb0151d4be5b79caabf0":[1,0,0,1,0,2,20], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a27858b4066156d6ad11c3c38694fa7b5":[1,0,0,1,0,2,17], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a293dd77642bcdd3fb11721a1b868fe8c":[1,0,0,1,0,2,22], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a354738dd74b0be81f81f2ce25e02f39e":[1,0,0,1,0,2,10], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a3c241b1c28e779cff58e5de4b2a9bf23":[1,0,0,1,0,2,23], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93":[1,0,0,1,0,2,5], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a036c4283fc4ecb1686f44462f75208e5":[1,0,0,1,0,2,5,39], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a0a272f25fd5e8a06065ef8ee41a88bea":[1,0,0,1,0,2,5,14], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a0b497b33b1a05057bc1634e607170bf6":[1,0,0,1,0,2,5,26], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a0e7c9ad08be0653518bf456c9994ace5":[1,0,0,1,0,2,5,36], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a0eceeb45861f9585dd7a97a3e36f85c6":[1,0,0,1,0,2,5,3], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a1b73a351faf2b550d06fae9cc6e0a894":[1,0,0,1,0,2,5,15], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a1d2dd18ee1a925e5887cbc2f9202e779":[1,0,0,1,0,2,5,29], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a2a4581043d849bcb0e4747970ef1489b":[1,0,0,1,0,2,5,37], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a2d0ea43e788b779c0aec92366b711c2f":[1,0,0,1,0,2,5,5], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a32638c25f4c913fce6214c2c4afff9dc":[1,0,0,1,0,2,5,10], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a3542a02d18f11f46d53990d91752a6d4":[1,0,0,1,0,2,5,28], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a3632c2e4e6225d4d9fcd2a6fd2c65048":[1,0,0,1,0,2,5,24], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a382ab522931673c11e398ead1b7b1678":[1,0,0,1,0,2,5,4], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a38c300f4fc9ce8a77aad4a30de05cad8":[1,0,0,1,0,2,5,20], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a4896a92527b74e68134933dcb77a7017":[1,0,0,1,0,2,5,30], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a4c99006c75b53fe48865cdfa0ac065ba":[1,0,0,1,0,2,5,18], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a4e9202c31896211f63be5b7345a897ed":[1,0,0,1,0,2,5,7], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a548c5a637eddf65132b21411aeafc6a1":[1,0,0,1,0,2,5,1], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a59a2898a8bf9da75a5855e76110f06f2":[1,0,0,1,0,2,5,23], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a5d695cc28c6a7ea955162fbdd0ae42b9":[1,0,0,1,0,2,5,11], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a6af78095a2be4a230ba87f03dd131830":[1,0,0,1,0,2,5,33], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a722969577a96ca3953e84e3d949dee81":[1,0,0,1,0,2,5,19], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a750de7eda10d780b3bbaefb57128c24b":[1,0,0,1,0,2,5,8], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a7843649eb3841f496a79303fd815029e":[1,0,0,1,0,2,5,12], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a8282fb93cb1cf45b135ea191668ca583":[1,0,0,1,0,2,5,27], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a8aebe7aae400f2d81ea72f08cf8da83e":[1,0,0,1,0,2,5,32], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a8ba68fee5542f5fd071aed140c39bd8e":[1,0,0,1,0,2,5,21], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a997ca4ce119685f40f03a9a8a6c5346e":[1,0,0,1,0,2,5,35], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a9edf8fbf00a57d95a0af4923c9a1ec6f":[1,0,0,1,0,2,5,16], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93aa0bfb8e59e6c13fc8d990781f77694fe":[1,0,0,1,0,2,5,0], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93aa3219a6843adbb23de79b4df9c307f5d":[1,0,0,1,0,2,5,31], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93aa589749d075c3423333bdc93e3b4e774":[1,0,0,1,0,2,5,9], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93ac169e6d9a1b9442001384de8dcf49ab9":[1,0,0,1,0,2,5,13], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93acd447f1ec89f564ebac583d60087df12":[1,0,0,1,0,2,5,6], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93ada405cbc74723dfdda615e3f679ef2be":[1,0,0,1,0,2,5,38], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93ae06d1ba70f1331e9f9a113cc2f887d3f":[1,0,0,1,0,2,5,17], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93ae0aa021e21dddbd6d8cecec71e9cf564":[1,0,0,1,0,2,5,2], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93aecbf01325f1c744e9d7bb586ac2eb5ed":[1,0,0,1,0,2,5,34], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93af1d4ac54357cc0932f385d56814ba7e4":[1,0,0,1,0,2,5,25], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93af83a928e6a3f3b502ffadd2a414ce48c":[1,0,0,1,0,2,5,22], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a598978cd10bc3160ab2656d59596b27e":[1,0,0,1,0,2,9], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a5d224be02f00fc5793efdfd9bc659725":[1,0,0,1,0,2,13], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a5fcd6f0dc796a74e36c3caa4e2958630":[1,0,0,1,0,2,21], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a6346e2f51cb58303646014cef59393c9":[1,0,0,1,0,2,28], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3":[1,0,0,1,0,2,1], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3a0eaadb4fcb48a0a0ed7bc9868be9fbaa":[1,0,0,1,0,2,1,8], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3a44749712dbec183e983dcd78a7736c41":[1,0,0,1,0,2,1,2], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3a5a34a26799128ce8229982506e8f7398":[1,0,0,1,0,2,1,5], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3a7777d162b1fa729345ddb7de48654012":[1,0,0,1,0,2,1,4], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3a9499572d046f5c2faebd1050147d7a68":[1,0,0,1,0,2,1,0], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3ac2cc7082a89c1ad6631a2f66af5f00c0":[1,0,0,1,0,2,1,1], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3ad794d3f7b3a0a8fdbd7582f6cacb5de0":[1,0,0,1,0,2,1,7], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3af607fdcea4127aad4f0cdae948a4f3f7":[1,0,0,1,0,2,1,3], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3af683581d3e75f05f9d9215f9b4696cef":[1,0,0,1,0,2,1,6], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7a7505189a9f2a15ce0a563fcf1ac246":[1,0,0,1,0,2,29], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7d39f260b970569a93b19005abf5006a":[1,0,0,1,0,2,27], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7feec018ede979bceaa2526ae31e9b49":[1,0,0,1,0,2,26], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204f":[1,0,0,1,0,2,2], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204fa03d947a2158373c3b9d74325850cb8b9":[1,0,0,1,0,2,2,3], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204fa49ab28040dfa07f53544970c6d147e1e":[1,0,0,1,0,2,2,7], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204fa98921133d10fbdb0fb6dbb7b2648befe":[1,0,0,1,0,2,2,2], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204fab4b459723783455f351a8dffeca16ba4":[1,0,0,1,0,2,2,8], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204fac55582518cba2c464f29f5bae1c68def":[1,0,0,1,0,2,2,1], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204fad0bf1810982e9728fcf3ac444a015373":[1,0,0,1,0,2,2,4], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204fadae8ace18bdcbcc6ae5aece263e14fe8":[1,0,0,1,0,2,2,0], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204fadd4ec0ac4e58f7c32a01244ae91150b1":[1,0,0,1,0,2,2,6], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204faf2a6c498fb90ee345d997f888fce3b18":[1,0,0,1,0,2,2,5], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a82a557dc8206fb11dfb17e0fb72aa7d0":[1,0,0,1,0,2,15], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a85656b5625b7572777ab218ba345f612":[1,0,0,1,0,2,18], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0":[1,0,0,1,0,2,0], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0a132d1f967127cbce22710ae8939b0ad3":[1,0,0,1,0,2,0,3], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0a24fe48030f7d3097d5882535b04c3fa8":[1,0,0,1,0,2,0,8], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0a45f0fb72a0defdfdb01de4b5a5a6876b":[1,0,0,1,0,2,0,0], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0a64abb03bef870bfc54b15e0022bde75a":[1,0,0,1,0,2,0,5], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0a89605743f4f361ed80572f7e6b552886":[1,0,0,1,0,2,0,2], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0a93d83df6cb26cf9359ef1b111c2d3de9":[1,0,0,1,0,2,0,6], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0a94b393cfdfb356ba5e95a9f0f552e5f4":[1,0,0,1,0,2,0,1], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0ab26f70c88f76ea0bb0e43d77189e04bc":[1,0,0,1,0,2,0,4], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0ab8178dd7819d7531e93b9d8112c16e11":[1,0,0,1,0,2,0,7], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0ae262f42297bdd5776f68bd3b43868a16":[1,0,0,1,0,2,0,9], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a959c91a346a8fc3fd21cc8b3ff5f4c88":[1,0,0,1,0,2,8], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a97021b8cc907ff0a9dc47ad5cbd37a89":[1,0,0,1,0,2,12], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bc":[1,0,0,1,0,2,4], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bca2384aa66f91dec54bc2a635481d473dd":[1,0,0,1,0,2,4,8], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bca2a0f9c5ce0ab16d6359fe86bc8c5c1fe":[1,0,0,1,0,2,4,0], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bca611a2b5dcde004cf68ffd56345584d40":[1,0,0,1,0,2,4,2], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bca9aa1b03934893d7134a660af4204f2a9":[1,0,0,1,0,2,4,6], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bca9d8d2d5ab12b515182a505f54db7f538":[1,0,0,1,0,2,4,1], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bcaa06c24787ac2c9d2391c9e43ea36616c":[1,0,0,1,0,2,4,4], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bcace5bf551379459c1c61d2a204061c455":[1,0,0,1,0,2,4,3], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bcad82a834165b99c4ea0969316296a2bc2":[1,0,0,1,0,2,4,7], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bcafe8b9b68b9708454a8b46f8a5b7457bd":[1,0,0,1,0,2,4,5], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ab2112e24bfb1830b9061d9f804246316":[1,0,0,1,0,2,11], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ab321ca65351ec6f136003703c0149535":[1,0,0,1,0,2,25], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#abe600f8b5b6dcff10ec21999229ec4ba":[1,0,0,1,0,2,7], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#acef383459a1111f43d8912a8d386ff7b":[1,0,0,1,0,2,16], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6":[1,0,0,1,0,2,3], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a47fd783476889265dd4b92dee87225a6":[1,0,0,1,0,2,3,2], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a568c1c30703cbe23863f072b7a58d4ad":[1,0,0,1,0,2,3,11], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a5da618e8e4b89c66fe86e32cdafde142":[1,0,0,1,0,2,3,6], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a6144bb91c094de745cab7863f75f7ba6":[1,0,0,1,0,2,3,16], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a6947efa30b7a4b701974f68105e333e5":[1,0,0,1,0,2,3,10], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a7a1c9344ffcbe2316169f2cbbc867973":[1,0,0,1,0,2,3,18], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a7ab474ae484d7d38c978ab3b46584baa":[1,0,0,1,0,2,3,12], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a7f036407d75c774176a7effbe959366b":[1,0,0,1,0,2,3,5], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a83f56f37a245ccaf8c885814074777f6":[1,0,0,1,0,2,3,17], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a87ba2ecc8b6915e8bd6f5089918229fd":[1,0,0,1,0,2,3,15], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a9bfede32ce846ff11527e145f6e9d12b":[1,0,0,1,0,2,3,9], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a9cd8a2455b1839ff98ef70c05b9b5983":[1,0,0,1,0,2,3,4], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6aaba45ed0d8bc2eda624f56caad3abf40":[1,0,0,1,0,2,3,3], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6ab1d325fe085c6078662aeeb18c98b3ee":[1,0,0,1,0,2,3,14], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6ac2ca16d048ec66e04bca283eab048ec2":[1,0,0,1,0,2,3,7], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6ac4408d335012a56ff58937d78050efad":[1,0,0,1,0,2,3,0], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6ac518519c3fc8af1cb7cc73111419feab":[1,0,0,1,0,2,3,8], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6ad382272d35e62a3d9d96d3e14b8368b1":[1,0,0,1,0,2,3,13], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6aeb5379f6a18ebd4bb7e8b8308fe7a635":[1,0,0,1,0,2,3,1], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#af71e0ec107f46975a65a22620dcff051":[1,0,0,1,0,2,6], -"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#af9ff2f1e7b774c73bde7d1f06c62dc2b":[1,0,0,1,0,2,24], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html":[1,0,0,1,0,3], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a020cf8a3319bad005fb7dc66cfe40ce6":[1,0,0,1,0,3,17], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a039d2c6c8d2a0d26ca0432fbe0a372cf":[1,0,0,1,0,3,20], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a1dc48f77e0badb0151d4be5b79caabf0":[1,0,0,1,0,3,21], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a293dd77642bcdd3fb11721a1b868fe8c":[1,0,0,1,0,3,24], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a354738dd74b0be81f81f2ce25e02f39e":[1,0,0,1,0,3,10], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a3c241b1c28e779cff58e5de4b2a9bf23":[1,0,0,1,0,3,25], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93":[1,0,0,1,0,3,5], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a036c4283fc4ecb1686f44462f75208e5":[1,0,0,1,0,3,5,39], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a0a272f25fd5e8a06065ef8ee41a88bea":[1,0,0,1,0,3,5,14], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a0b497b33b1a05057bc1634e607170bf6":[1,0,0,1,0,3,5,26], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a0e7c9ad08be0653518bf456c9994ace5":[1,0,0,1,0,3,5,36], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a0eceeb45861f9585dd7a97a3e36f85c6":[1,0,0,1,0,3,5,3], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a1b73a351faf2b550d06fae9cc6e0a894":[1,0,0,1,0,3,5,15], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a1d2dd18ee1a925e5887cbc2f9202e779":[1,0,0,1,0,3,5,29], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a2a4581043d849bcb0e4747970ef1489b":[1,0,0,1,0,3,5,37], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a2d0ea43e788b779c0aec92366b711c2f":[1,0,0,1,0,3,5,5], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a32638c25f4c913fce6214c2c4afff9dc":[1,0,0,1,0,3,5,10], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a3542a02d18f11f46d53990d91752a6d4":[1,0,0,1,0,3,5,28], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a3632c2e4e6225d4d9fcd2a6fd2c65048":[1,0,0,1,0,3,5,24], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a382ab522931673c11e398ead1b7b1678":[1,0,0,1,0,3,5,4], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a38c300f4fc9ce8a77aad4a30de05cad8":[1,0,0,1,0,3,5,20], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a4896a92527b74e68134933dcb77a7017":[1,0,0,1,0,3,5,30], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a4c99006c75b53fe48865cdfa0ac065ba":[1,0,0,1,0,3,5,18], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a4e9202c31896211f63be5b7345a897ed":[1,0,0,1,0,3,5,7], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a548c5a637eddf65132b21411aeafc6a1":[1,0,0,1,0,3,5,1], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a59a2898a8bf9da75a5855e76110f06f2":[1,0,0,1,0,3,5,23], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a5d695cc28c6a7ea955162fbdd0ae42b9":[1,0,0,1,0,3,5,11], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a6af78095a2be4a230ba87f03dd131830":[1,0,0,1,0,3,5,33], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a722969577a96ca3953e84e3d949dee81":[1,0,0,1,0,3,5,19], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a750de7eda10d780b3bbaefb57128c24b":[1,0,0,1,0,3,5,8], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a7843649eb3841f496a79303fd815029e":[1,0,0,1,0,3,5,12], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a8282fb93cb1cf45b135ea191668ca583":[1,0,0,1,0,3,5,27], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a8aebe7aae400f2d81ea72f08cf8da83e":[1,0,0,1,0,3,5,32], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a8ba68fee5542f5fd071aed140c39bd8e":[1,0,0,1,0,3,5,21], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a997ca4ce119685f40f03a9a8a6c5346e":[1,0,0,1,0,3,5,35], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93a9edf8fbf00a57d95a0af4923c9a1ec6f":[1,0,0,1,0,3,5,16], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93aa0bfb8e59e6c13fc8d990781f77694fe":[1,0,0,1,0,3,5,0], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93aa3219a6843adbb23de79b4df9c307f5d":[1,0,0,1,0,3,5,31], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93aa589749d075c3423333bdc93e3b4e774":[1,0,0,1,0,3,5,9], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93ac169e6d9a1b9442001384de8dcf49ab9":[1,0,0,1,0,3,5,13], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93acd447f1ec89f564ebac583d60087df12":[1,0,0,1,0,3,5,6], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93ada405cbc74723dfdda615e3f679ef2be":[1,0,0,1,0,3,5,38], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93ae06d1ba70f1331e9f9a113cc2f887d3f":[1,0,0,1,0,3,5,17], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93ae0aa021e21dddbd6d8cecec71e9cf564":[1,0,0,1,0,3,5,2], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93aecbf01325f1c744e9d7bb586ac2eb5ed":[1,0,0,1,0,3,5,34], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93af1d4ac54357cc0932f385d56814ba7e4":[1,0,0,1,0,3,5,25], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a593bfe14671a26d05c6abc5a03642a93af83a928e6a3f3b502ffadd2a414ce48c":[1,0,0,1,0,3,5,22], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a598978cd10bc3160ab2656d59596b27e":[1,0,0,1,0,3,9], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a5d224be02f00fc5793efdfd9bc659725":[1,0,0,1,0,3,15], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a5d4b2e7f5e232037fba3e60870567232":[1,0,0,1,0,3,12], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a5fcd6f0dc796a74e36c3caa4e2958630":[1,0,0,1,0,3,23], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a6346e2f51cb58303646014cef59393c9":[1,0,0,1,0,3,30], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3":[1,0,0,1,0,3,1], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3a0eaadb4fcb48a0a0ed7bc9868be9fbaa":[1,0,0,1,0,3,1,8], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3a44749712dbec183e983dcd78a7736c41":[1,0,0,1,0,3,1,2], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3a5a34a26799128ce8229982506e8f7398":[1,0,0,1,0,3,1,5], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3a7777d162b1fa729345ddb7de48654012":[1,0,0,1,0,3,1,4], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3a9499572d046f5c2faebd1050147d7a68":[1,0,0,1,0,3,1,0], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3ac2cc7082a89c1ad6631a2f66af5f00c0":[1,0,0,1,0,3,1,1], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3ad794d3f7b3a0a8fdbd7582f6cacb5de0":[1,0,0,1,0,3,1,7], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3af607fdcea4127aad4f0cdae948a4f3f7":[1,0,0,1,0,3,1,3], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a64038f009478db2a0f73736baab372d3af683581d3e75f05f9d9215f9b4696cef":[1,0,0,1,0,3,1,6], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a6674eb6c05cc4d37c05d3c530af56e2a":[1,0,0,1,0,3,22], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a74eae4074bc8e72795e89fcd50675c4d":[1,0,0,1,0,3,11], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7a7505189a9f2a15ce0a563fcf1ac246":[1,0,0,1,0,3,31], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7d39f260b970569a93b19005abf5006a":[1,0,0,1,0,3,29], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7feec018ede979bceaa2526ae31e9b49":[1,0,0,1,0,3,28], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204f":[1,0,0,1,0,3,2], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204fa03d947a2158373c3b9d74325850cb8b9":[1,0,0,1,0,3,2,3], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204fa49ab28040dfa07f53544970c6d147e1e":[1,0,0,1,0,3,2,7], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204fa98921133d10fbdb0fb6dbb7b2648befe":[1,0,0,1,0,3,2,2], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204fab4b459723783455f351a8dffeca16ba4":[1,0,0,1,0,3,2,8], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204fac55582518cba2c464f29f5bae1c68def":[1,0,0,1,0,3,2,1], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204fad0bf1810982e9728fcf3ac444a015373":[1,0,0,1,0,3,2,4], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204fadae8ace18bdcbcc6ae5aece263e14fe8":[1,0,0,1,0,3,2,0], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204fadd4ec0ac4e58f7c32a01244ae91150b1":[1,0,0,1,0,3,2,6], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a81cd0ed968fbead9d58013e20781204faf2a6c498fb90ee345d997f888fce3b18":[1,0,0,1,0,3,2,5], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a82a557dc8206fb11dfb17e0fb72aa7d0":[1,0,0,1,0,3,18], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a85656b5625b7572777ab218ba345f612":[1,0,0,1,0,3,19], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0":[1,0,0,1,0,3,0], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0a132d1f967127cbce22710ae8939b0ad3":[1,0,0,1,0,3,0,3], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0a24fe48030f7d3097d5882535b04c3fa8":[1,0,0,1,0,3,0,8], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0a45f0fb72a0defdfdb01de4b5a5a6876b":[1,0,0,1,0,3,0,0], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0a64abb03bef870bfc54b15e0022bde75a":[1,0,0,1,0,3,0,5], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0a89605743f4f361ed80572f7e6b552886":[1,0,0,1,0,3,0,2], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0a93d83df6cb26cf9359ef1b111c2d3de9":[1,0,0,1,0,3,0,6], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0a94b393cfdfb356ba5e95a9f0f552e5f4":[1,0,0,1,0,3,0,1], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0ab26f70c88f76ea0bb0e43d77189e04bc":[1,0,0,1,0,3,0,4], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0ab8178dd7819d7531e93b9d8112c16e11":[1,0,0,1,0,3,0,7], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a921133650bdb1352352e9bfc94cfe0f0ae262f42297bdd5776f68bd3b43868a16":[1,0,0,1,0,3,0,9], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a959c91a346a8fc3fd21cc8b3ff5f4c88":[1,0,0,1,0,3,8], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a97021b8cc907ff0a9dc47ad5cbd37a89":[1,0,0,1,0,3,14], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bc":[1,0,0,1,0,3,4], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bca2384aa66f91dec54bc2a635481d473dd":[1,0,0,1,0,3,4,8], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bca2a0f9c5ce0ab16d6359fe86bc8c5c1fe":[1,0,0,1,0,3,4,0], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bca611a2b5dcde004cf68ffd56345584d40":[1,0,0,1,0,3,4,2], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bca9aa1b03934893d7134a660af4204f2a9":[1,0,0,1,0,3,4,6], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bca9d8d2d5ab12b515182a505f54db7f538":[1,0,0,1,0,3,4,1], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bcaa06c24787ac2c9d2391c9e43ea36616c":[1,0,0,1,0,3,4,4], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bcace5bf551379459c1c61d2a204061c455":[1,0,0,1,0,3,4,3], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bcad82a834165b99c4ea0969316296a2bc2":[1,0,0,1,0,3,4,7], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aa8b86f07257008958988a0d323daf9bcafe8b9b68b9708454a8b46f8a5b7457bd":[1,0,0,1,0,3,4,5], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ab2112e24bfb1830b9061d9f804246316":[1,0,0,1,0,3,13], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ab321ca65351ec6f136003703c0149535":[1,0,0,1,0,3,27], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#abe600f8b5b6dcff10ec21999229ec4ba":[1,0,0,1,0,3,7], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ac44c53de0f98bf7c8246e36e1d06e45d":[1,0,0,1,0,3,16], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6":[1,0,0,1,0,3,3], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a47fd783476889265dd4b92dee87225a6":[1,0,0,1,0,3,3,2], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a568c1c30703cbe23863f072b7a58d4ad":[1,0,0,1,0,3,3,11], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a5da618e8e4b89c66fe86e32cdafde142":[1,0,0,1,0,3,3,6], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a6144bb91c094de745cab7863f75f7ba6":[1,0,0,1,0,3,3,16], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a6947efa30b7a4b701974f68105e333e5":[1,0,0,1,0,3,3,10], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a7a1c9344ffcbe2316169f2cbbc867973":[1,0,0,1,0,3,3,18], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a7ab474ae484d7d38c978ab3b46584baa":[1,0,0,1,0,3,3,12], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a7f036407d75c774176a7effbe959366b":[1,0,0,1,0,3,3,5], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a83f56f37a245ccaf8c885814074777f6":[1,0,0,1,0,3,3,17], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a87ba2ecc8b6915e8bd6f5089918229fd":[1,0,0,1,0,3,3,15], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a9bfede32ce846ff11527e145f6e9d12b":[1,0,0,1,0,3,3,9], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6a9cd8a2455b1839ff98ef70c05b9b5983":[1,0,0,1,0,3,3,4], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6aaba45ed0d8bc2eda624f56caad3abf40":[1,0,0,1,0,3,3,3], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6ab1d325fe085c6078662aeeb18c98b3ee":[1,0,0,1,0,3,3,14], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6ac2ca16d048ec66e04bca283eab048ec2":[1,0,0,1,0,3,3,7], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6ac4408d335012a56ff58937d78050efad":[1,0,0,1,0,3,3,0], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6ac518519c3fc8af1cb7cc73111419feab":[1,0,0,1,0,3,3,8], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6ad382272d35e62a3d9d96d3e14b8368b1":[1,0,0,1,0,3,3,13], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#aed05e397178ac91224e98040b9292bb6aeb5379f6a18ebd4bb7e8b8308fe7a635":[1,0,0,1,0,3,3,1], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#af71e0ec107f46975a65a22620dcff051":[1,0,0,1,0,3,6], +"df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#af9ff2f1e7b774c73bde7d1f06c62dc2b":[1,0,0,1,0,3,26], "dir_060ae041221bd5ec93acd9997d59bc4a.html":[2,0,0,0,0,0], +"dir_18f78fe84eecd4a1e0ba100f9fef9273.html":[2,0,0,0,4,1,5], "dir_191ea0d58bc4aa76598804cf9a9a4081.html":[2,0,0,0,1,1], "dir_1c549a8c0368fbf2d31a8f8dc0a70690.html":[2,0,0,0,4,1,1], "dir_2b786a618fa1a35d0fa6c1f0a951f035.html":[2,0,0,0,1], @@ -170,12 +188,13 @@ var NAVTREEINDEX1 = "dir_3c5620eb11971a15737f9176b123ece0.html":[2,0,0,0,1,0,0], "dir_3e6c9ca704d5ac39bea56d7971e0d054.html":[2,0,0,0,1,1,1], "dir_3f72314963399eb45a5e5610bf0cc145.html":[2,0,0,0,0], -"dir_463cd4dabdde5d8586315ca59a2d23c1.html":[2,0,0,0,4,1,2], +"dir_463cd4dabdde5d8586315ca59a2d23c1.html":[2,0,0,0,4,1,3], "dir_57b0082ffa0af670f404eda33c530396.html":[2,0,0,0,4], "dir_62d48bea4fe746cedac2516f67715e2f.html":[2,0,0], "dir_70c99956df21f970f9dba0c1e1740f5c.html":[2,0,0,0,5,0], "dir_71304019a3d358fe52b6a8280ce6c97c.html":[2,0,0,0,4,0,0], "dir_7299b3d9bb46b9d6bcfef12b634e889c.html":[2,0,0,0,5], +"dir_7c3fd1497bc0af0cd7f9eef323230981.html":[2,0,0,0,4,1,2], "dir_9a2c1c90aeb7330df3888fc4e386572a.html":[2,0,0,0,4,1,0], "dir_9dfefe4e1ff2dafff0ff7b183fb80a5d.html":[2,0,0,0,3], "dir_aacd352a84a4f5db43a6bb63759aa0e5.html":[2,0,0,0,2], @@ -184,6 +203,7 @@ var NAVTREEINDEX1 = "dir_d55ee0fc9b1e69611b98eb45cbf91143.html":[2,0,0,0,1,0,1], "dir_dd7589cd703d467b08715c004924abac.html":[2,0,0,0], "dir_e1cb8f9b823681a26481b9089f7b7776.html":[2,0,0,0,4,0,1], +"dir_ecc488f1555fcc6b6ad794031dc53dd1.html":[2,0,0,0,4,1,4], "files.html":[2,0], "functions.html":[1,3,0], "functions_func.html":[1,3,1], diff --git a/docs/open.png b/docs/open.png index 27b780b..4abc245 100644 Binary files a/docs/open.png and b/docs/open.png differ diff --git a/docs/search/all_0.js b/docs/search/all_0.js index e87c94a..6f167e9 100644 --- a/docs/search/all_0.js +++ b/docs/search/all_0.js @@ -9,5 +9,6 @@ var searchData= ['addmodule',['AddModule',['../d5/d58/class_m_t_s_c_1_1_client_1_1_handlers_1_1_http_handler.html#ae292eccc409b08c21abb9a5100e7af91',1,'MTSC.Client.Handlers.HttpHandler.AddModule()'],['../df/d3b/class_m_t_s_c_1_1_client_1_1_handlers_1_1_websocket_handler.html#a30f0f192ec1d875f28a7e07529feecb8',1,'MTSC.Client.Handlers.WebsocketHandler.AddModule()']]], ['addrequestheader',['AddRequestHeader',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a598978cd10bc3160ab2656d59596b27e',1,'MTSC::Common::Http::HttpMessage']]], ['addresponseheader',['AddResponseHeader',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a354738dd74b0be81f81f2ce25e02f39e',1,'MTSC::Common::Http::HttpMessage']]], - ['addwebsockethandler',['AddWebsocketHandler',['../da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html#a9052e4deaf71384b7c3906cdc04e5eea',1,'MTSC::Server::Handlers::WebsocketHandler']]] + ['addwebsockethandler',['AddWebsocketHandler',['../da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html#a9052e4deaf71384b7c3906cdc04e5eea',1,'MTSC::Server::Handlers::WebsocketHandler']]], + ['attributes',['Attributes',['../d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a4894bfb3eb0a07374a1b2e6f24e98a3d',1,'MTSC::Common::Http::Cookie']]] ]; diff --git a/docs/search/all_1.js b/docs/search/all_1.js index bdc80b3..a9f9648 100644 --- a/docs/search/all_1.js +++ b/docs/search/all_1.js @@ -2,5 +2,9 @@ var searchData= [ ['broadcast',['Broadcast',['../dc/d75/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler.html#a74fb30591fe06d29601c645937e3b4da',1,'MTSC::Client::Handlers::BroadcastHandler']]], ['broadcasthandler',['BroadcastHandler',['../dc/d75/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler.html',1,'MTSC.Client.Handlers.BroadcastHandler'],['../dc/d44/class_m_t_s_c_1_1_server_1_1_handlers_1_1_broadcast_handler.html',1,'MTSC.Server.Handlers.BroadcastHandler'],['../dc/d75/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler.html#a3bb5d75cc804dbf9b42ec893967b365a',1,'MTSC.Client.Handlers.BroadcastHandler.BroadcastHandler()']]], - ['broadcastmodule',['BroadcastModule',['../d5/d0c/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_broadcast_module.html',1,'MTSC::Common::WebSockets::ServerModules']]] + ['broadcastmodule',['BroadcastModule',['../d5/d0c/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_broadcast_module.html',1,'MTSC::Common::WebSockets::ServerModules']]], + ['buildcookiebytes',['BuildCookieBytes',['../d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a4262455e1b29c41598c1f8bf1c142b58',1,'MTSC::Common::Http::Cookie']]], + ['buildcookiestring',['BuildCookieString',['../d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#ac189eb5a90e67754e153167bfc07618a',1,'MTSC::Common::Http::Cookie']]], + ['buildrequest',['BuildRequest',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a74eae4074bc8e72795e89fcd50675c4d',1,'MTSC::Common::Http::HttpMessage']]], + ['buildresponse',['BuildResponse',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a5d4b2e7f5e232037fba3e60870567232',1,'MTSC::Common::Http::HttpMessage']]] ]; diff --git a/docs/search/all_10.js b/docs/search/all_10.js index 680ae3c..9f9aade 100644 --- a/docs/search/all_10.js +++ b/docs/search/all_10.js @@ -1,9 +1,6 @@ var searchData= [ - ['scaleusage',['ScaleUsage',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a4bd784eb59c4a81a346a09d31146eef3',1,'MTSC::Server::Server']]], - ['sendrequest',['SendRequest',['../d5/d58/class_m_t_s_c_1_1_client_1_1_handlers_1_1_http_handler.html#a3717b229ef4fe6137b480fcde8d61b37',1,'MTSC::Client::Handlers::HttpHandler']]], - ['server',['Server',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html',1,'MTSC.Server.Server'],['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a39681d659b0b0b78d64ceb200346b572',1,'MTSC.Server.Server.Server()'],['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a1cb1d11b255666395b92dcd0ea8afdee',1,'MTSC.Server.Server.Server(int port)'],['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a9ba78600a4f4f3d46d11181a4b6b50eb',1,'MTSC.Server.Server.Server(X509Certificate2 certificate, int port)']]], - ['setport',['SetPort',['../dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html#afe946bd8ea5c8d02db19175e5fbe95e0',1,'MTSC.Client.Client.SetPort()'],['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a53cde7840246a76cf72389665c4ff9f7',1,'MTSC.Server.Server.SetPort()']]], - ['setserveraddress',['SetServerAddress',['../dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html#ae4eab6784f731a25a4ed47fa2dc5c217',1,'MTSC::Client::Client']]], - ['stop',['Stop',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a1f2742b5f0ac908cc75baf9490f4d9fb',1,'MTSC::Server::Server']]] + ['run',['Run',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#af4bb64b680d23d398f3f7e289569189d',1,'MTSC::Server::Server']]], + ['runasync',['RunAsync',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#ad56ca49ea0918f37248b0e40bf4a4907',1,'MTSC::Server::Server']]], + ['running',['Running',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#af7425affecbc0039273437e4ebb3fde1',1,'MTSC::Server::Server']]] ]; diff --git a/docs/search/all_11.js b/docs/search/all_11.js index 2710d28..680ae3c 100644 --- a/docs/search/all_11.js +++ b/docs/search/all_11.js @@ -1,10 +1,9 @@ var searchData= [ - ['this_5bentityheadersenum_20headerkey_5d',['this[EntityHeadersEnum headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ab321ca65351ec6f136003703c0149535',1,'MTSC::Common::Http::HttpMessage']]], - ['this_5bgeneralheadersenum_20headerkey_5d',['this[GeneralHeadersEnum headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7feec018ede979bceaa2526ae31e9b49',1,'MTSC::Common::Http::HttpMessage']]], - ['this_5brequestheadersenum_20headerkey_5d',['this[RequestHeadersEnum headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7d39f260b970569a93b19005abf5006a',1,'MTSC::Common::Http::HttpMessage']]], - ['this_5bresponseheadersenum_20headerkey_5d',['this[ResponseHeadersEnum headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a6346e2f51cb58303646014cef59393c9',1,'MTSC::Common::Http::HttpMessage']]], - ['this_5bstring_20headerkey_5d',['this[string headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7a7505189a9f2a15ce0a563fcf1ac246',1,'MTSC::Common::Http::HttpMessage']]], - ['tick',['Tick',['../df/d4e/interface_m_t_s_c_1_1_client_1_1_handlers_1_1_i_handler.html#ab03755cacb365c29a3bc6dbe17884b64',1,'MTSC.Client.Handlers.IHandler.Tick()'],['../d8/da0/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module.html#a544defcb7ffcfc6008fd85d0997258a6',1,'MTSC.Common.Http.ServerModules.IHttpModule.Tick()'],['../da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.html#a24f493fa3d89d960a635f0dc36e64b3d',1,'MTSC.Server.Handlers.IHandler.Tick()']]], - ['tickrate',['TickRate',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a11711d9464da010154adc781a3e0bf71',1,'MTSC::Server::Server']]] + ['scaleusage',['ScaleUsage',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a4bd784eb59c4a81a346a09d31146eef3',1,'MTSC::Server::Server']]], + ['sendrequest',['SendRequest',['../d5/d58/class_m_t_s_c_1_1_client_1_1_handlers_1_1_http_handler.html#a3717b229ef4fe6137b480fcde8d61b37',1,'MTSC::Client::Handlers::HttpHandler']]], + ['server',['Server',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html',1,'MTSC.Server.Server'],['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a39681d659b0b0b78d64ceb200346b572',1,'MTSC.Server.Server.Server()'],['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a1cb1d11b255666395b92dcd0ea8afdee',1,'MTSC.Server.Server.Server(int port)'],['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a9ba78600a4f4f3d46d11181a4b6b50eb',1,'MTSC.Server.Server.Server(X509Certificate2 certificate, int port)']]], + ['setport',['SetPort',['../dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html#afe946bd8ea5c8d02db19175e5fbe95e0',1,'MTSC.Client.Client.SetPort()'],['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a53cde7840246a76cf72389665c4ff9f7',1,'MTSC.Server.Server.SetPort()']]], + ['setserveraddress',['SetServerAddress',['../dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html#ae4eab6784f731a25a4ed47fa2dc5c217',1,'MTSC::Client::Client']]], + ['stop',['Stop',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a1f2742b5f0ac908cc75baf9490f4d9fb',1,'MTSC::Server::Server']]] ]; diff --git a/docs/search/all_12.js b/docs/search/all_12.js index 010a389..2710d28 100644 --- a/docs/search/all_12.js +++ b/docs/search/all_12.js @@ -1,5 +1,10 @@ var searchData= [ - ['websockethandler',['WebsocketHandler',['../df/d3b/class_m_t_s_c_1_1_client_1_1_handlers_1_1_websocket_handler.html',1,'MTSC.Client.Handlers.WebsocketHandler'],['../da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html',1,'MTSC.Server.Handlers.WebsocketHandler']]], - ['websocketmessage',['WebsocketMessage',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html',1,'MTSC.Common.WebSockets.WebsocketMessage'],['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#ab783b89e4cefcfa4be94d6746e3b434e',1,'MTSC.Common.WebSockets.WebsocketMessage.WebsocketMessage(byte[] messageBytes)'],['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#a2d42d9363c74a535179edb1c51e1d439',1,'MTSC.Common.WebSockets.WebsocketMessage.WebsocketMessage()']]] + ['this_5bentityheadersenum_20headerkey_5d',['this[EntityHeadersEnum headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ab321ca65351ec6f136003703c0149535',1,'MTSC::Common::Http::HttpMessage']]], + ['this_5bgeneralheadersenum_20headerkey_5d',['this[GeneralHeadersEnum headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7feec018ede979bceaa2526ae31e9b49',1,'MTSC::Common::Http::HttpMessage']]], + ['this_5brequestheadersenum_20headerkey_5d',['this[RequestHeadersEnum headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7d39f260b970569a93b19005abf5006a',1,'MTSC::Common::Http::HttpMessage']]], + ['this_5bresponseheadersenum_20headerkey_5d',['this[ResponseHeadersEnum headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a6346e2f51cb58303646014cef59393c9',1,'MTSC::Common::Http::HttpMessage']]], + ['this_5bstring_20headerkey_5d',['this[string headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7a7505189a9f2a15ce0a563fcf1ac246',1,'MTSC::Common::Http::HttpMessage']]], + ['tick',['Tick',['../df/d4e/interface_m_t_s_c_1_1_client_1_1_handlers_1_1_i_handler.html#ab03755cacb365c29a3bc6dbe17884b64',1,'MTSC.Client.Handlers.IHandler.Tick()'],['../d8/da0/interface_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_i_http_module.html#a544defcb7ffcfc6008fd85d0997258a6',1,'MTSC.Common.Http.ServerModules.IHttpModule.Tick()'],['../da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.html#a24f493fa3d89d960a635f0dc36e64b3d',1,'MTSC.Server.Handlers.IHandler.Tick()']]], + ['tickrate',['TickRate',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a11711d9464da010154adc781a3e0bf71',1,'MTSC::Server::Server']]] ]; diff --git a/docs/search/all_13.html b/docs/search/all_13.html new file mode 100644 index 0000000..dc6c049 --- /dev/null +++ b/docs/search/all_13.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_13.js b/docs/search/all_13.js new file mode 100644 index 0000000..e9ee0a9 --- /dev/null +++ b/docs/search/all_13.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['value',['Value',['../d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a3f97d9755a9bf8495a5729f6fc6f3f72',1,'MTSC::Common::Http::Cookie']]] +]; diff --git a/docs/search/all_14.html b/docs/search/all_14.html new file mode 100644 index 0000000..7fe4663 --- /dev/null +++ b/docs/search/all_14.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_14.js b/docs/search/all_14.js new file mode 100644 index 0000000..010a389 --- /dev/null +++ b/docs/search/all_14.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['websockethandler',['WebsocketHandler',['../df/d3b/class_m_t_s_c_1_1_client_1_1_handlers_1_1_websocket_handler.html',1,'MTSC.Client.Handlers.WebsocketHandler'],['../da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html',1,'MTSC.Server.Handlers.WebsocketHandler']]], + ['websocketmessage',['WebsocketMessage',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html',1,'MTSC.Common.WebSockets.WebsocketMessage'],['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#ab783b89e4cefcfa4be94d6746e3b434e',1,'MTSC.Common.WebSockets.WebsocketMessage.WebsocketMessage(byte[] messageBytes)'],['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#a2d42d9363c74a535179edb1c51e1d439',1,'MTSC.Common.WebSockets.WebsocketMessage.WebsocketMessage()']]] +]; diff --git a/docs/search/all_2.js b/docs/search/all_2.js index 649d595..9d7adaf 100644 --- a/docs/search/all_2.js +++ b/docs/search/all_2.js @@ -12,5 +12,7 @@ var searchData= ['connectionclosed',['ConnectionClosed',['../dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.html#a01f67a29451915afa859be4680d1a056',1,'MTSC.Common.WebSockets.ClientModules.IWebsocketModule.ConnectionClosed()'],['../d9/dc0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module.html#af7995b56b7be456b8e243219723a58a3',1,'MTSC.Common.WebSockets.ServerModules.IWebsocketModule.ConnectionClosed()']]], ['connectioninitialized',['ConnectionInitialized',['../dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.html#accef43d19c0b3d3de384c5b6c18cde4c',1,'MTSC.Common.WebSockets.ClientModules.IWebsocketModule.ConnectionInitialized()'],['../d9/dc0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module.html#af8343d909795c638731c01c92bfb3101',1,'MTSC.Common.WebSockets.ServerModules.IWebsocketModule.ConnectionInitialized()']]], ['consolelogger',['ConsoleLogger',['../de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.html',1,'MTSC::Logging']]], - ['containsheader',['ContainsHeader',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ab2112e24bfb1830b9061d9f804246316',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(ResponseHeadersEnum header)'],['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a97021b8cc907ff0a9dc47ad5cbd37a89',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(RequestHeadersEnum header)'],['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a5d224be02f00fc5793efdfd9bc659725',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(GeneralHeadersEnum header)'],['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a020cf8a3319bad005fb7dc66cfe40ce6',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(string header)']]] + ['containsheader',['ContainsHeader',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ab2112e24bfb1830b9061d9f804246316',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(ResponseHeadersEnum header)'],['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a97021b8cc907ff0a9dc47ad5cbd37a89',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(RequestHeadersEnum header)'],['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a5d224be02f00fc5793efdfd9bc659725',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(GeneralHeadersEnum header)'],['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ac44c53de0f98bf7c8246e36e1d06e45d',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(EntityHeadersEnum header)'],['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a020cf8a3319bad005fb7dc66cfe40ce6',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(string header)']]], + ['cookie',['Cookie',['../d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html',1,'MTSC.Common.Http.Cookie'],['../d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a5497ca1025be0e4fa6b839f8fbb74628',1,'MTSC.Common.Http.Cookie.Cookie(string key, string value)'],['../d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a3fc35ad84d6aa9fecd1cde95b9d245fa',1,'MTSC.Common.Http.Cookie.Cookie(string cookieString)']]], + ['cookies',['Cookies',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a6674eb6c05cc4d37c05d3c530af56e2a',1,'MTSC::Common::Http::HttpMessage']]] ]; diff --git a/docs/search/all_6.js b/docs/search/all_6.js index be4400a..40621bb 100644 --- a/docs/search/all_6.js +++ b/docs/search/all_6.js @@ -1,7 +1,5 @@ var searchData= [ ['getmessagebytes',['GetMessageBytes',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#ab11957d5fe1a10fa5f0e15edcb4cfd62',1,'MTSC::Common::WebSockets::WebsocketMessage']]], - ['getpostform',['GetPostForm',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a82a557dc8206fb11dfb17e0fb72aa7d0',1,'MTSC::Common::Http::HttpMessage']]], - ['getrequest',['GetRequest',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#acef383459a1111f43d8912a8d386ff7b',1,'MTSC::Common::Http::HttpMessage']]], - ['getresponse',['GetResponse',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a27858b4066156d6ad11c3c38694fa7b5',1,'MTSC::Common::Http::HttpMessage']]] + ['getpostform',['GetPostForm',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a82a557dc8206fb11dfb17e0fb72aa7d0',1,'MTSC::Common::Http::HttpMessage']]] ]; diff --git a/docs/search/all_9.js b/docs/search/all_9.js index bdb39cc..7ac1b13 100644 --- a/docs/search/all_9.js +++ b/docs/search/all_9.js @@ -1,5 +1,4 @@ var searchData= [ - ['log',['Log',['../dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html#a180b7a8c584e5c073c2ecbd8fde44e8b',1,'MTSC.Client.Client.Log()'],['../de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.html#a9fd52d789f68285f284aa902175638b7',1,'MTSC.Logging.ConsoleLogger.Log()'],['../da/dd0/class_m_t_s_c_1_1_logging_1_1_debug_console_logger.html#ac99a610520e156791de0b74368af616d',1,'MTSC.Logging.DebugConsoleLogger.Log()'],['../d6/dcb/interface_m_t_s_c_1_1_logging_1_1_i_logger.html#a4a07ceb983932f65b2b73ec4f0fb1018',1,'MTSC.Logging.ILogger.Log()'],['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a3452d98e3588375075ba2e9a872ce545',1,'MTSC.Server.Server.Log()']]], - ['logdebug',['LogDebug',['../dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html#ac4b8e6be3de6ad2e646815c577f5a7e3',1,'MTSC.Client.Client.LogDebug()'],['../de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.html#aa52943a8f24372455b11ede5ee236f55',1,'MTSC.Logging.ConsoleLogger.LogDebug()'],['../da/dd0/class_m_t_s_c_1_1_logging_1_1_debug_console_logger.html#a6863b58170d01b798634ee9fee83e917',1,'MTSC.Logging.DebugConsoleLogger.LogDebug()'],['../d6/dcb/interface_m_t_s_c_1_1_logging_1_1_i_logger.html#a82ab01fbbdc30f20f89369bdc7f6e438',1,'MTSC.Logging.ILogger.LogDebug()'],['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a917f430c6dc56d51cd21ab207cb8a4cf',1,'MTSC.Server.Server.LogDebug()']]] + ['key',['Key',['../d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a1bbc642ddd7413051fcf97a12fde7532',1,'MTSC::Common::Http::Cookie']]] ]; diff --git a/docs/search/all_a.js b/docs/search/all_a.js index 06ad177..bdb39cc 100644 --- a/docs/search/all_a.js +++ b/docs/search/all_a.js @@ -1,19 +1,5 @@ var searchData= [ - ['client',['Client',['../d3/dc6/namespace_m_t_s_c_1_1_client.html',1,'MTSC']]], - ['clientmodules',['ClientModules',['../da/db3/namespace_m_t_s_c_1_1_common_1_1_http_1_1_client_modules.html',1,'MTSC.Common.Http.ClientModules'],['../df/d15/namespace_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules.html',1,'MTSC.Common.WebSockets.ClientModules']]], - ['common',['Common',['../db/dca/namespace_m_t_s_c_1_1_common.html',1,'MTSC']]], - ['exceptions',['Exceptions',['../d1/d56/namespace_m_t_s_c_1_1_exceptions.html',1,'MTSC']]], - ['handlers',['Handlers',['../da/d82/namespace_m_t_s_c_1_1_client_1_1_handlers.html',1,'MTSC.Client.Handlers'],['../d4/d86/namespace_m_t_s_c_1_1_server_1_1_handlers.html',1,'MTSC.Server.Handlers']]], - ['http',['Http',['../d2/dd3/namespace_m_t_s_c_1_1_common_1_1_http.html',1,'MTSC::Common']]], - ['logging',['Logging',['../db/dbe/namespace_m_t_s_c_1_1_logging.html',1,'MTSC']]], - ['mask',['Mask',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#a6df2b0cb35d260167860bc8700019351',1,'MTSC::Common::WebSockets::WebsocketMessage']]], - ['masked',['Masked',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#ad079fde84aeb3af5ba52a844e136dcf1',1,'MTSC::Common::WebSockets::WebsocketMessage']]], - ['message',['Message',['../dc/dd4/struct_m_t_s_c_1_1_message.html',1,'MTSC']]], - ['messagelength',['MessageLength',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#a600fffeaf9f28648333a380b13231e1f',1,'MTSC::Common::WebSockets::WebsocketMessage']]], - ['methodinvalidexception',['MethodInvalidException',['../de/dab/class_m_t_s_c_1_1_exceptions_1_1_method_invalid_exception.html',1,'MTSC::Exceptions']]], - ['mtsc',['MTSC',['../d7/dcd/namespace_m_t_s_c.html',1,'']]], - ['server',['Server',['../d3/d97/namespace_m_t_s_c_1_1_server.html',1,'MTSC']]], - ['servermodules',['ServerModules',['../df/dda/namespace_m_t_s_c_1_1_common_1_1_http_1_1_server_modules.html',1,'MTSC.Common.Http.ServerModules'],['../d2/d2f/namespace_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules.html',1,'MTSC.Common.WebSockets.ServerModules']]], - ['websockets',['WebSockets',['../de/d91/namespace_m_t_s_c_1_1_common_1_1_web_sockets.html',1,'MTSC::Common']]] + ['log',['Log',['../dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html#a180b7a8c584e5c073c2ecbd8fde44e8b',1,'MTSC.Client.Client.Log()'],['../de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.html#a9fd52d789f68285f284aa902175638b7',1,'MTSC.Logging.ConsoleLogger.Log()'],['../da/dd0/class_m_t_s_c_1_1_logging_1_1_debug_console_logger.html#ac99a610520e156791de0b74368af616d',1,'MTSC.Logging.DebugConsoleLogger.Log()'],['../d6/dcb/interface_m_t_s_c_1_1_logging_1_1_i_logger.html#a4a07ceb983932f65b2b73ec4f0fb1018',1,'MTSC.Logging.ILogger.Log()'],['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a3452d98e3588375075ba2e9a872ce545',1,'MTSC.Server.Server.Log()']]], + ['logdebug',['LogDebug',['../dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html#ac4b8e6be3de6ad2e646815c577f5a7e3',1,'MTSC.Client.Client.LogDebug()'],['../de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.html#aa52943a8f24372455b11ede5ee236f55',1,'MTSC.Logging.ConsoleLogger.LogDebug()'],['../da/dd0/class_m_t_s_c_1_1_logging_1_1_debug_console_logger.html#a6863b58170d01b798634ee9fee83e917',1,'MTSC.Logging.DebugConsoleLogger.LogDebug()'],['../d6/dcb/interface_m_t_s_c_1_1_logging_1_1_i_logger.html#a82ab01fbbdc30f20f89369bdc7f6e438',1,'MTSC.Logging.ILogger.LogDebug()'],['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a917f430c6dc56d51cd21ab207cb8a4cf',1,'MTSC.Server.Server.LogDebug()']]] ]; diff --git a/docs/search/all_b.js b/docs/search/all_b.js index f04f05b..06ad177 100644 --- a/docs/search/all_b.js +++ b/docs/search/all_b.js @@ -1,4 +1,19 @@ var searchData= [ - ['nodataexception',['NoDataException',['../da/d6f/class_m_t_s_c_1_1_exceptions_1_1_no_data_exception.html',1,'MTSC::Exceptions']]] + ['client',['Client',['../d3/dc6/namespace_m_t_s_c_1_1_client.html',1,'MTSC']]], + ['clientmodules',['ClientModules',['../da/db3/namespace_m_t_s_c_1_1_common_1_1_http_1_1_client_modules.html',1,'MTSC.Common.Http.ClientModules'],['../df/d15/namespace_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules.html',1,'MTSC.Common.WebSockets.ClientModules']]], + ['common',['Common',['../db/dca/namespace_m_t_s_c_1_1_common.html',1,'MTSC']]], + ['exceptions',['Exceptions',['../d1/d56/namespace_m_t_s_c_1_1_exceptions.html',1,'MTSC']]], + ['handlers',['Handlers',['../da/d82/namespace_m_t_s_c_1_1_client_1_1_handlers.html',1,'MTSC.Client.Handlers'],['../d4/d86/namespace_m_t_s_c_1_1_server_1_1_handlers.html',1,'MTSC.Server.Handlers']]], + ['http',['Http',['../d2/dd3/namespace_m_t_s_c_1_1_common_1_1_http.html',1,'MTSC::Common']]], + ['logging',['Logging',['../db/dbe/namespace_m_t_s_c_1_1_logging.html',1,'MTSC']]], + ['mask',['Mask',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#a6df2b0cb35d260167860bc8700019351',1,'MTSC::Common::WebSockets::WebsocketMessage']]], + ['masked',['Masked',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#ad079fde84aeb3af5ba52a844e136dcf1',1,'MTSC::Common::WebSockets::WebsocketMessage']]], + ['message',['Message',['../dc/dd4/struct_m_t_s_c_1_1_message.html',1,'MTSC']]], + ['messagelength',['MessageLength',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#a600fffeaf9f28648333a380b13231e1f',1,'MTSC::Common::WebSockets::WebsocketMessage']]], + ['methodinvalidexception',['MethodInvalidException',['../de/dab/class_m_t_s_c_1_1_exceptions_1_1_method_invalid_exception.html',1,'MTSC::Exceptions']]], + ['mtsc',['MTSC',['../d7/dcd/namespace_m_t_s_c.html',1,'']]], + ['server',['Server',['../d3/d97/namespace_m_t_s_c_1_1_server.html',1,'MTSC']]], + ['servermodules',['ServerModules',['../df/dda/namespace_m_t_s_c_1_1_common_1_1_http_1_1_server_modules.html',1,'MTSC.Common.Http.ServerModules'],['../d2/d2f/namespace_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules.html',1,'MTSC.Common.WebSockets.ServerModules']]], + ['websockets',['WebSockets',['../de/d91/namespace_m_t_s_c_1_1_common_1_1_web_sockets.html',1,'MTSC::Common']]] ]; diff --git a/docs/search/all_c.js b/docs/search/all_c.js index da37bf1..f04f05b 100644 --- a/docs/search/all_c.js +++ b/docs/search/all_c.js @@ -1,4 +1,4 @@ var searchData= [ - ['opcode',['Opcode',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#a2f63f3604fa46cc17133590b1e33eec9',1,'MTSC::Common::WebSockets::WebsocketMessage']]] + ['nodataexception',['NoDataException',['../da/d6f/class_m_t_s_c_1_1_exceptions_1_1_no_data_exception.html',1,'MTSC::Exceptions']]] ]; diff --git a/docs/search/all_d.js b/docs/search/all_d.js index 8c5d291..da37bf1 100644 --- a/docs/search/all_d.js +++ b/docs/search/all_d.js @@ -1,7 +1,4 @@ var searchData= [ - ['parserequest',['ParseRequest',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a85656b5625b7572777ab218ba345f612',1,'MTSC::Common::Http::HttpMessage']]], - ['parseresponse',['ParseResponse',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a039d2c6c8d2a0d26ca0432fbe0a372cf',1,'MTSC::Common::Http::HttpMessage']]], - ['port',['Port',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#adc95de3549415e7dd8332710f3f1461e',1,'MTSC::Server::Server']]], - ['prehandlereceivedmessage',['PreHandleReceivedMessage',['../df/d4e/interface_m_t_s_c_1_1_client_1_1_handlers_1_1_i_handler.html#acd8845050e973018c1a57e23a3e06247',1,'MTSC.Client.Handlers.IHandler.PreHandleReceivedMessage()'],['../da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.html#ad90301b90fdf8fdebcccec08a086358d',1,'MTSC.Server.Handlers.IHandler.PreHandleReceivedMessage()']]] + ['opcode',['Opcode',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#a2f63f3604fa46cc17133590b1e33eec9',1,'MTSC::Common::WebSockets::WebsocketMessage']]] ]; diff --git a/docs/search/all_e.js b/docs/search/all_e.js index c091bd9..ca5adfa 100644 --- a/docs/search/all_e.js +++ b/docs/search/all_e.js @@ -1,5 +1,8 @@ var searchData= [ - ['queuemessage',['QueueMessage',['../dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html#ab4ebbd8217aea0c1d57ede542c404183',1,'MTSC.Client.Client.QueueMessage()'],['../df/d3b/class_m_t_s_c_1_1_client_1_1_handlers_1_1_websocket_handler.html#aab375ecfc0b27c0a0ed8355c5904eb15',1,'MTSC.Client.Handlers.WebsocketHandler.QueueMessage()'],['../da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html#a4ba115e772f3c30814b21c508ef2cf61',1,'MTSC.Server.Handlers.WebsocketHandler.QueueMessage(ClientData client, byte[] message)'],['../da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html#a14849ffda41c01d12dd7ef87bd77f539',1,'MTSC.Server.Handlers.WebsocketHandler.QueueMessage(ClientData client, WebsocketMessage message)'],['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a4231d59cf9d26d7f9eda14d2bf1e27ee',1,'MTSC.Server.Server.QueueMessage()']]], - ['queueresponse',['QueueResponse',['../d5/dde/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler.html#abee4834854edfd4920ce31ba08a649a8',1,'MTSC::Server::Handlers::HttpHandler']]] + ['parserequest',['ParseRequest',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a85656b5625b7572777ab218ba345f612',1,'MTSC::Common::Http::HttpMessage']]], + ['parseresponse',['ParseResponse',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a039d2c6c8d2a0d26ca0432fbe0a372cf',1,'MTSC::Common::Http::HttpMessage']]], + ['port',['Port',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#adc95de3549415e7dd8332710f3f1461e',1,'MTSC::Server::Server']]], + ['postmodule',['PostModule',['../d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.html',1,'MTSC::Common::Http::ServerModules']]], + ['prehandlereceivedmessage',['PreHandleReceivedMessage',['../df/d4e/interface_m_t_s_c_1_1_client_1_1_handlers_1_1_i_handler.html#acd8845050e973018c1a57e23a3e06247',1,'MTSC.Client.Handlers.IHandler.PreHandleReceivedMessage()'],['../da/d7d/interface_m_t_s_c_1_1_server_1_1_handlers_1_1_i_handler.html#ad90301b90fdf8fdebcccec08a086358d',1,'MTSC.Server.Handlers.IHandler.PreHandleReceivedMessage()']]] ]; diff --git a/docs/search/all_f.js b/docs/search/all_f.js index 9f9aade..c091bd9 100644 --- a/docs/search/all_f.js +++ b/docs/search/all_f.js @@ -1,6 +1,5 @@ var searchData= [ - ['run',['Run',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#af4bb64b680d23d398f3f7e289569189d',1,'MTSC::Server::Server']]], - ['runasync',['RunAsync',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#ad56ca49ea0918f37248b0e40bf4a4907',1,'MTSC::Server::Server']]], - ['running',['Running',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#af7425affecbc0039273437e4ebb3fde1',1,'MTSC::Server::Server']]] + ['queuemessage',['QueueMessage',['../dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html#ab4ebbd8217aea0c1d57ede542c404183',1,'MTSC.Client.Client.QueueMessage()'],['../df/d3b/class_m_t_s_c_1_1_client_1_1_handlers_1_1_websocket_handler.html#aab375ecfc0b27c0a0ed8355c5904eb15',1,'MTSC.Client.Handlers.WebsocketHandler.QueueMessage()'],['../da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html#a4ba115e772f3c30814b21c508ef2cf61',1,'MTSC.Server.Handlers.WebsocketHandler.QueueMessage(ClientData client, byte[] message)'],['../da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html#a14849ffda41c01d12dd7ef87bd77f539',1,'MTSC.Server.Handlers.WebsocketHandler.QueueMessage(ClientData client, WebsocketMessage message)'],['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a4231d59cf9d26d7f9eda14d2bf1e27ee',1,'MTSC.Server.Server.QueueMessage()']]], + ['queueresponse',['QueueResponse',['../d5/dde/class_m_t_s_c_1_1_server_1_1_handlers_1_1_http_handler.html#abee4834854edfd4920ce31ba08a649a8',1,'MTSC::Server::Handlers::HttpHandler']]] ]; diff --git a/docs/search/classes_1.js b/docs/search/classes_1.js index 8e9cea5..a2e6e33 100644 --- a/docs/search/classes_1.js +++ b/docs/search/classes_1.js @@ -3,5 +3,6 @@ var searchData= ['chatmodule',['ChatModule',['../df/def/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_chat_module.html',1,'MTSC::Common::WebSockets::ClientModules']]], ['client',['Client',['../dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html',1,'MTSC::Client']]], ['clientdata',['ClientData',['../d4/dbb/class_m_t_s_c_1_1_server_1_1_client_data.html',1,'MTSC::Server']]], - ['consolelogger',['ConsoleLogger',['../de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.html',1,'MTSC::Logging']]] + ['consolelogger',['ConsoleLogger',['../de/dd8/class_m_t_s_c_1_1_logging_1_1_console_logger.html',1,'MTSC::Logging']]], + ['cookie',['Cookie',['../d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html',1,'MTSC::Common::Http']]] ]; diff --git a/docs/search/classes_9.js b/docs/search/classes_9.js index 7fe1e23..ecaee26 100644 --- a/docs/search/classes_9.js +++ b/docs/search/classes_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['server',['Server',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html',1,'MTSC::Server']]] + ['postmodule',['PostModule',['../d0/d69/class_m_t_s_c_1_1_common_1_1_http_1_1_server_modules_1_1_post_module.html',1,'MTSC::Common::Http::ServerModules']]] ]; diff --git a/docs/search/classes_a.js b/docs/search/classes_a.js index 3d9588c..7fe1e23 100644 --- a/docs/search/classes_a.js +++ b/docs/search/classes_a.js @@ -1,5 +1,4 @@ var searchData= [ - ['websockethandler',['WebsocketHandler',['../df/d3b/class_m_t_s_c_1_1_client_1_1_handlers_1_1_websocket_handler.html',1,'MTSC.Client.Handlers.WebsocketHandler'],['../da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html',1,'MTSC.Server.Handlers.WebsocketHandler']]], - ['websocketmessage',['WebsocketMessage',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html',1,'MTSC::Common::WebSockets']]] + ['server',['Server',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html',1,'MTSC::Server']]] ]; diff --git a/docs/search/classes_b.html b/docs/search/classes_b.html new file mode 100644 index 0000000..ef84802 --- /dev/null +++ b/docs/search/classes_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/classes_b.js b/docs/search/classes_b.js new file mode 100644 index 0000000..3d9588c --- /dev/null +++ b/docs/search/classes_b.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['websockethandler',['WebsocketHandler',['../df/d3b/class_m_t_s_c_1_1_client_1_1_handlers_1_1_websocket_handler.html',1,'MTSC.Client.Handlers.WebsocketHandler'],['../da/dc7/class_m_t_s_c_1_1_server_1_1_handlers_1_1_websocket_handler.html',1,'MTSC.Server.Handlers.WebsocketHandler']]], + ['websocketmessage',['WebsocketMessage',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html',1,'MTSC::Common::WebSockets']]] +]; diff --git a/docs/search/functions_1.js b/docs/search/functions_1.js index e422a8f..4dc37f2 100644 --- a/docs/search/functions_1.js +++ b/docs/search/functions_1.js @@ -1,5 +1,9 @@ var searchData= [ ['broadcast',['Broadcast',['../dc/d75/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler.html#a74fb30591fe06d29601c645937e3b4da',1,'MTSC::Client::Handlers::BroadcastHandler']]], - ['broadcasthandler',['BroadcastHandler',['../dc/d75/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler.html#a3bb5d75cc804dbf9b42ec893967b365a',1,'MTSC::Client::Handlers::BroadcastHandler']]] + ['broadcasthandler',['BroadcastHandler',['../dc/d75/class_m_t_s_c_1_1_client_1_1_handlers_1_1_broadcast_handler.html#a3bb5d75cc804dbf9b42ec893967b365a',1,'MTSC::Client::Handlers::BroadcastHandler']]], + ['buildcookiebytes',['BuildCookieBytes',['../d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a4262455e1b29c41598c1f8bf1c142b58',1,'MTSC::Common::Http::Cookie']]], + ['buildcookiestring',['BuildCookieString',['../d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#ac189eb5a90e67754e153167bfc07618a',1,'MTSC::Common::Http::Cookie']]], + ['buildrequest',['BuildRequest',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a74eae4074bc8e72795e89fcd50675c4d',1,'MTSC::Common::Http::HttpMessage']]], + ['buildresponse',['BuildResponse',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a5d4b2e7f5e232037fba3e60870567232',1,'MTSC::Common::Http::HttpMessage']]] ]; diff --git a/docs/search/functions_2.js b/docs/search/functions_2.js index b7330f2..f4e4e6d 100644 --- a/docs/search/functions_2.js +++ b/docs/search/functions_2.js @@ -6,5 +6,6 @@ var searchData= ['connectasync',['ConnectAsync',['../dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html#a3c3183ea32b519482cec9a41d436fa11',1,'MTSC::Client::Client']]], ['connectionclosed',['ConnectionClosed',['../dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.html#a01f67a29451915afa859be4680d1a056',1,'MTSC.Common.WebSockets.ClientModules.IWebsocketModule.ConnectionClosed()'],['../d9/dc0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module.html#af7995b56b7be456b8e243219723a58a3',1,'MTSC.Common.WebSockets.ServerModules.IWebsocketModule.ConnectionClosed()']]], ['connectioninitialized',['ConnectionInitialized',['../dc/de4/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_client_modules_1_1_i_websocket_module.html#accef43d19c0b3d3de384c5b6c18cde4c',1,'MTSC.Common.WebSockets.ClientModules.IWebsocketModule.ConnectionInitialized()'],['../d9/dc0/interface_m_t_s_c_1_1_common_1_1_web_sockets_1_1_server_modules_1_1_i_websocket_module.html#af8343d909795c638731c01c92bfb3101',1,'MTSC.Common.WebSockets.ServerModules.IWebsocketModule.ConnectionInitialized()']]], - ['containsheader',['ContainsHeader',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ab2112e24bfb1830b9061d9f804246316',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(ResponseHeadersEnum header)'],['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a97021b8cc907ff0a9dc47ad5cbd37a89',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(RequestHeadersEnum header)'],['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a5d224be02f00fc5793efdfd9bc659725',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(GeneralHeadersEnum header)'],['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a020cf8a3319bad005fb7dc66cfe40ce6',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(string header)']]] + ['containsheader',['ContainsHeader',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ab2112e24bfb1830b9061d9f804246316',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(ResponseHeadersEnum header)'],['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a97021b8cc907ff0a9dc47ad5cbd37a89',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(RequestHeadersEnum header)'],['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a5d224be02f00fc5793efdfd9bc659725',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(GeneralHeadersEnum header)'],['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ac44c53de0f98bf7c8246e36e1d06e45d',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(EntityHeadersEnum header)'],['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a020cf8a3319bad005fb7dc66cfe40ce6',1,'MTSC.Common.Http.HttpMessage.ContainsHeader(string header)']]], + ['cookie',['Cookie',['../d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a5497ca1025be0e4fa6b839f8fbb74628',1,'MTSC.Common.Http.Cookie.Cookie(string key, string value)'],['../d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a3fc35ad84d6aa9fecd1cde95b9d245fa',1,'MTSC.Common.Http.Cookie.Cookie(string cookieString)']]] ]; diff --git a/docs/search/functions_5.js b/docs/search/functions_5.js index be4400a..40621bb 100644 --- a/docs/search/functions_5.js +++ b/docs/search/functions_5.js @@ -1,7 +1,5 @@ var searchData= [ ['getmessagebytes',['GetMessageBytes',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#ab11957d5fe1a10fa5f0e15edcb4cfd62',1,'MTSC::Common::WebSockets::WebsocketMessage']]], - ['getpostform',['GetPostForm',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a82a557dc8206fb11dfb17e0fb72aa7d0',1,'MTSC::Common::Http::HttpMessage']]], - ['getrequest',['GetRequest',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#acef383459a1111f43d8912a8d386ff7b',1,'MTSC::Common::Http::HttpMessage']]], - ['getresponse',['GetResponse',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a27858b4066156d6ad11c3c38694fa7b5',1,'MTSC::Common::Http::HttpMessage']]] + ['getpostform',['GetPostForm',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a82a557dc8206fb11dfb17e0fb72aa7d0',1,'MTSC::Common::Http::HttpMessage']]] ]; diff --git a/docs/search/properties_0.js b/docs/search/properties_0.js index db19477..a5ede46 100644 --- a/docs/search/properties_0.js +++ b/docs/search/properties_0.js @@ -1,5 +1,4 @@ var searchData= [ - ['certificatevalidationcallback',['CertificateValidationCallback',['../dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html#aedd2779b640467b253fa48152c0ec22b',1,'MTSC::Client::Client']]], - ['clients',['Clients',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#aa54bab2059f42b5329db361476a40a31',1,'MTSC::Server::Server']]] + ['attributes',['Attributes',['../d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a4894bfb3eb0a07374a1b2e6f24e98a3d',1,'MTSC::Common::Http::Cookie']]] ]; diff --git a/docs/search/properties_1.js b/docs/search/properties_1.js index 2224099..0f7cca4 100644 --- a/docs/search/properties_1.js +++ b/docs/search/properties_1.js @@ -1,4 +1,6 @@ var searchData= [ - ['data',['Data',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#ae66efe0af1a09ed8a7397a54403c4731',1,'MTSC::Common::WebSockets::WebsocketMessage']]] + ['certificatevalidationcallback',['CertificateValidationCallback',['../dc/d7c/class_m_t_s_c_1_1_client_1_1_client.html#aedd2779b640467b253fa48152c0ec22b',1,'MTSC::Client::Client']]], + ['clients',['Clients',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#aa54bab2059f42b5329db361476a40a31',1,'MTSC::Server::Server']]], + ['cookies',['Cookies',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a6674eb6c05cc4d37c05d3c530af56e2a',1,'MTSC::Common::Http::HttpMessage']]] ]; diff --git a/docs/search/properties_2.js b/docs/search/properties_2.js index 23b6fbf..2224099 100644 --- a/docs/search/properties_2.js +++ b/docs/search/properties_2.js @@ -1,5 +1,4 @@ var searchData= [ - ['fin',['FIN',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#afdcb7b3936befb1ec23c8ef1a3006c81',1,'MTSC::Common::WebSockets::WebsocketMessage']]], - ['forcetickrate',['ForceTickrate',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a97ca0dda04d7bfddab2d115c4b6b3abe',1,'MTSC::Server::Server']]] + ['data',['Data',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#ae66efe0af1a09ed8a7397a54403c4731',1,'MTSC::Common::WebSockets::WebsocketMessage']]] ]; diff --git a/docs/search/properties_3.js b/docs/search/properties_3.js index ff0474d..23b6fbf 100644 --- a/docs/search/properties_3.js +++ b/docs/search/properties_3.js @@ -1,6 +1,5 @@ var searchData= [ - ['mask',['Mask',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#a6df2b0cb35d260167860bc8700019351',1,'MTSC::Common::WebSockets::WebsocketMessage']]], - ['masked',['Masked',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#ad079fde84aeb3af5ba52a844e136dcf1',1,'MTSC::Common::WebSockets::WebsocketMessage']]], - ['messagelength',['MessageLength',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#a600fffeaf9f28648333a380b13231e1f',1,'MTSC::Common::WebSockets::WebsocketMessage']]] + ['fin',['FIN',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#afdcb7b3936befb1ec23c8ef1a3006c81',1,'MTSC::Common::WebSockets::WebsocketMessage']]], + ['forcetickrate',['ForceTickrate',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a97ca0dda04d7bfddab2d115c4b6b3abe',1,'MTSC::Server::Server']]] ]; diff --git a/docs/search/properties_4.js b/docs/search/properties_4.js index da37bf1..7ac1b13 100644 --- a/docs/search/properties_4.js +++ b/docs/search/properties_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['opcode',['Opcode',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#a2f63f3604fa46cc17133590b1e33eec9',1,'MTSC::Common::WebSockets::WebsocketMessage']]] + ['key',['Key',['../d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a1bbc642ddd7413051fcf97a12fde7532',1,'MTSC::Common::Http::Cookie']]] ]; diff --git a/docs/search/properties_5.js b/docs/search/properties_5.js index 4674e5c..ff0474d 100644 --- a/docs/search/properties_5.js +++ b/docs/search/properties_5.js @@ -1,4 +1,6 @@ var searchData= [ - ['port',['Port',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#adc95de3549415e7dd8332710f3f1461e',1,'MTSC::Server::Server']]] + ['mask',['Mask',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#a6df2b0cb35d260167860bc8700019351',1,'MTSC::Common::WebSockets::WebsocketMessage']]], + ['masked',['Masked',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#ad079fde84aeb3af5ba52a844e136dcf1',1,'MTSC::Common::WebSockets::WebsocketMessage']]], + ['messagelength',['MessageLength',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#a600fffeaf9f28648333a380b13231e1f',1,'MTSC::Common::WebSockets::WebsocketMessage']]] ]; diff --git a/docs/search/properties_6.js b/docs/search/properties_6.js index 1f9683b..da37bf1 100644 --- a/docs/search/properties_6.js +++ b/docs/search/properties_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['running',['Running',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#af7425affecbc0039273437e4ebb3fde1',1,'MTSC::Server::Server']]] + ['opcode',['Opcode',['../d8/d92/class_m_t_s_c_1_1_common_1_1_web_sockets_1_1_websocket_message.html#a2f63f3604fa46cc17133590b1e33eec9',1,'MTSC::Common::WebSockets::WebsocketMessage']]] ]; diff --git a/docs/search/properties_7.js b/docs/search/properties_7.js index f86b473..4674e5c 100644 --- a/docs/search/properties_7.js +++ b/docs/search/properties_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['scaleusage',['ScaleUsage',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a4bd784eb59c4a81a346a09d31146eef3',1,'MTSC::Server::Server']]] + ['port',['Port',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#adc95de3549415e7dd8332710f3f1461e',1,'MTSC::Server::Server']]] ]; diff --git a/docs/search/properties_8.js b/docs/search/properties_8.js index 7192d94..1f9683b 100644 --- a/docs/search/properties_8.js +++ b/docs/search/properties_8.js @@ -1,9 +1,4 @@ var searchData= [ - ['this_5bentityheadersenum_20headerkey_5d',['this[EntityHeadersEnum headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ab321ca65351ec6f136003703c0149535',1,'MTSC::Common::Http::HttpMessage']]], - ['this_5bgeneralheadersenum_20headerkey_5d',['this[GeneralHeadersEnum headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7feec018ede979bceaa2526ae31e9b49',1,'MTSC::Common::Http::HttpMessage']]], - ['this_5brequestheadersenum_20headerkey_5d',['this[RequestHeadersEnum headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7d39f260b970569a93b19005abf5006a',1,'MTSC::Common::Http::HttpMessage']]], - ['this_5bresponseheadersenum_20headerkey_5d',['this[ResponseHeadersEnum headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a6346e2f51cb58303646014cef59393c9',1,'MTSC::Common::Http::HttpMessage']]], - ['this_5bstring_20headerkey_5d',['this[string headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7a7505189a9f2a15ce0a563fcf1ac246',1,'MTSC::Common::Http::HttpMessage']]], - ['tickrate',['TickRate',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a11711d9464da010154adc781a3e0bf71',1,'MTSC::Server::Server']]] + ['running',['Running',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#af7425affecbc0039273437e4ebb3fde1',1,'MTSC::Server::Server']]] ]; diff --git a/docs/search/properties_9.html b/docs/search/properties_9.html new file mode 100644 index 0000000..6762399 --- /dev/null +++ b/docs/search/properties_9.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/properties_9.js b/docs/search/properties_9.js new file mode 100644 index 0000000..f86b473 --- /dev/null +++ b/docs/search/properties_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['scaleusage',['ScaleUsage',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a4bd784eb59c4a81a346a09d31146eef3',1,'MTSC::Server::Server']]] +]; diff --git a/docs/search/properties_a.html b/docs/search/properties_a.html new file mode 100644 index 0000000..07f870a --- /dev/null +++ b/docs/search/properties_a.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/properties_a.js b/docs/search/properties_a.js new file mode 100644 index 0000000..7192d94 --- /dev/null +++ b/docs/search/properties_a.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['this_5bentityheadersenum_20headerkey_5d',['this[EntityHeadersEnum headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#ab321ca65351ec6f136003703c0149535',1,'MTSC::Common::Http::HttpMessage']]], + ['this_5bgeneralheadersenum_20headerkey_5d',['this[GeneralHeadersEnum headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7feec018ede979bceaa2526ae31e9b49',1,'MTSC::Common::Http::HttpMessage']]], + ['this_5brequestheadersenum_20headerkey_5d',['this[RequestHeadersEnum headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7d39f260b970569a93b19005abf5006a',1,'MTSC::Common::Http::HttpMessage']]], + ['this_5bresponseheadersenum_20headerkey_5d',['this[ResponseHeadersEnum headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a6346e2f51cb58303646014cef59393c9',1,'MTSC::Common::Http::HttpMessage']]], + ['this_5bstring_20headerkey_5d',['this[string headerKey]',['../df/dff/class_m_t_s_c_1_1_common_1_1_http_1_1_http_message.html#a7a7505189a9f2a15ce0a563fcf1ac246',1,'MTSC::Common::Http::HttpMessage']]], + ['tickrate',['TickRate',['../d3/d7e/class_m_t_s_c_1_1_server_1_1_server.html#a11711d9464da010154adc781a3e0bf71',1,'MTSC::Server::Server']]] +]; diff --git a/docs/search/properties_b.html b/docs/search/properties_b.html new file mode 100644 index 0000000..7ff8681 --- /dev/null +++ b/docs/search/properties_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/properties_b.js b/docs/search/properties_b.js new file mode 100644 index 0000000..e9ee0a9 --- /dev/null +++ b/docs/search/properties_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['value',['Value',['../d0/dc5/class_m_t_s_c_1_1_common_1_1_http_1_1_cookie.html#a3f97d9755a9bf8495a5729f6fc6f3f72',1,'MTSC::Common::Http::Cookie']]] +]; diff --git a/docs/search/search.css b/docs/search/search.css index 0d46fa3..823e790 100644 --- a/docs/search/search.css +++ b/docs/search/search.css @@ -99,8 +99,8 @@ display: none; position: absolute; left: 0; top: 0; - border: 1px solid #494660; - background-color: #F1F1F4; + border: 1px solid #7174A8; + background-color: #F7F7FA; z-index: 10001; padding-top: 4px; padding-bottom: 4px; @@ -144,7 +144,7 @@ a.SelectItem:active { a.SelectItem:hover { color: #FFFFFF; - background-color: #0D0D12; + background-color: #2C2D48; outline-style: none; text-decoration: none; cursor: pointer; @@ -163,7 +163,7 @@ iframe#MSearchResults { position: absolute; left: 0; top: 0; border: 1px solid #000; - background-color: #D8D7E1; + background-color: #E7E7F0; z-index:10000; } @@ -199,7 +199,7 @@ body.SRPage { .SRSymbol { font-weight: bold; - color: #111016; + color: #313352; font-family: Arial, Verdana, sans-serif; text-decoration: none; outline: none; @@ -207,7 +207,7 @@ body.SRPage { a.SRScope { display: block; - color: #111016; + color: #313352; font-family: Arial, Verdana, sans-serif; text-decoration: none; outline: none; @@ -240,7 +240,7 @@ DIV.searchresults { /*---------------- External search page results */ .searchresult { - background-color: #DDDCE5; + background-color: #EAEBF2; } .pages b { diff --git a/docs/search/searchdata.js b/docs/search/searchdata.js index 3413855..b800593 100644 --- a/docs/search/searchdata.js +++ b/docs/search/searchdata.js @@ -1,10 +1,10 @@ var indexSectionsWithContent = { - 0: "abcdefghilmnopqrstw", - 1: "bcdefhimnsw", + 0: "abcdefghiklmnopqrstvw", + 1: "bcdefhimnpsw", 2: "m", 3: "abcdeghilpqrstw", - 4: "cdfmoprst" + 4: "acdfkmoprstv" }; var indexSectionNames = diff --git a/docs/splitbar.png b/docs/splitbar.png index 3ecce7a..145ec60 100644 Binary files a/docs/splitbar.png and b/docs/splitbar.png differ diff --git a/docs/sync_off.png b/docs/sync_off.png index 7182302..155cf0f 100644 Binary files a/docs/sync_off.png and b/docs/sync_off.png differ diff --git a/docs/sync_on.png b/docs/sync_on.png index 7f5b39f..2b54552 100644 Binary files a/docs/sync_on.png and b/docs/sync_on.png differ diff --git a/docs/tab_a.png b/docs/tab_a.png index c7434fc..5e27928 100644 Binary files a/docs/tab_a.png and b/docs/tab_a.png differ diff --git a/docs/tab_b.png b/docs/tab_b.png index 7d857d9..1d70199 100644 Binary files a/docs/tab_b.png and b/docs/tab_b.png differ diff --git a/docs/tab_h.png b/docs/tab_h.png index d4392f3..617d873 100644 Binary files a/docs/tab_h.png and b/docs/tab_h.png differ diff --git a/docs/tab_s.png b/docs/tab_s.png index 2199d0d..c898093 100644 Binary files a/docs/tab_s.png and b/docs/tab_s.png differ