         511: "Network Authentication Required"
     ]
     
-    /// Create a new `HTTPServer`.
-    ///
-    /// - Returns: an instance of `HTTPServer`.
+    /**
+    Create a new `HTTPServer`.
+    
+    - Returns: an instance of `HTTPServer`.
+    
+    ### Usage Example: ###
+    ````swift
+    let server = HTTP.createServer()
+    ````
+    */
     public static func createServer() -> HTTPServer {
         return HTTPServer()
     }
     
-    /// Create a new `ClientRequest` using URL.
-    ///
-    /// - Parameter url: URL address for the request.
-    /// - Parameter callback: closure to run after the request.
-    /// - Returns: a `ClientRequest` instance
+    /**
+    Create a new `ClientRequest` using URL.
+    
+    - Parameter url: URL address for the request.
+    - Parameter callback: closure to run after the request.
+    - Returns: a `ClientRequest` instance
+    
+    ### Usage Example: ###
+    ````swift
+     let request = HTTP.request("http://localhost/8080") {response in
+         ...
+     }
+    ````
+    */
     public static func request(_ url: String, callback: @escaping ClientRequest.Callback) -> ClientRequest {
         return ClientRequest(url: url, callback: callback)
     }
     
-    /// Create a new `ClientRequest` using a list of options.
-    ///
-    /// - Parameter options: a list of `ClientRequest.Options`.
-    /// - Parameter callback: closure to run after the request.
-    /// - Returns: a `ClientRequest` instance
+    /**
+    Create a new `ClientRequest` using a list of options.
+    
+    - Parameter options: a list of `ClientRequest.Options`.
+    - Parameter callback: closure to run after the request.
+    - Returns: a `ClientRequest` instance
+    
+    ### Usage Example: ###
+    ````swift
+    let request = HTTP.request([ClientRequest.Options]) {response in
+        ...
+    }
+    ````
+    */
     public static func request(_ options: [ClientRequest.Options], callback: @escaping ClientRequest.Callback) -> ClientRequest {
         return ClientRequest(options: options, callback: callback)
     }
     
-    /// Create a new `ClientRequest` using URL.
-    ///
-    /// - Parameter url: URL address for the request.
-    /// - Parameter callback: closure to run after the request.
-    /// - Returns: a ClientRequest instance.
-    ///
-    /// - Note: This method will invoke the end function of the `ClientRequest`
-    ///        immediately after its creation.
+    /**
+    Get a `ClientRequest` using URL.
+    
+    - Parameter url: URL address for the request.
+    - Parameter callback: closure to run after the request.
+    - Returns: a ClientRequest instance.
+    
+    - Note: This method will invoke the end function of the `ClientRequest`
+           immediately after its creation.
+    
+    ### Usage Example: ###
+    ````swift
+     let request = HTTP.get("http://localhost/8080") { response in
+         ...
+     }
+    ````
+    */
     public static func get(_ url: String, callback: @escaping ClientRequest.Callback) -> ClientRequest {
         let req = ClientRequest(url: url, callback: callback)
         req.end()

    /// A set of characters that are valid in requests.
    private static let allowedCharacterSet =  NSCharacterSet(charactersIn:"\"#%/<>?@\\^`{|} ").inverted
    
    /// Transform the URL into escaped characters.
    ///
    /// - note: URLs can only be sent over the Internet using the ASCII character set, so character escaping will
    /// transform unsafe ASCII characters with a '%' followed by two hexadecimal digits.
    public static func escape(url: String) -> String {
        if let escaped = url.addingPercentEncoding(withAllowedCharacters: allowedCharacterSet) {
            return escaped

 * limitations under the License.
 */

import Foundation

// MARK: HTTP

/**
A set of helpers for HTTP: status codes mapping, server and client request creation.

### Usage Example: ###
````swift
 //Create a HTTP server.
 let server = HTTP.createServer()
 
 //Create a new a `ClientRequest` instance using a URL.
 let request = HTTP.request("http://localhost/8080") {response in
 ...
 }
 
 //Get a `ClientRequest` instance from a URL.
 let getHTTP = HTTP.get("http://localhost/8080") { response in
 ...
 }
 
 HTTP.escape(url: testString)
````
*/
public class HTTP {
    
    /**
     Mapping of integer HTTP status codes to the String description.
    
    ### Usage Example: ###
    ````swift
     var statusText = HTTP.statusCodes[HTTPStatusCode.OK.rawValue]
    ````
    */
    public static let statusCodes = [
        
        100: "Continue", 101: "Switching Protocols", 102: "Processing",
