         rawHeader = headerData
     }
 
-    subscript(index: String) -> String? {
+    public subscript(index: String) -> String? {
         get {
             for (key, value) in headers {
                 if index.caseInsensitiveCompare(key) == .OrderedSame {

        return nil
    }

    func removeProxyHeader() {
        let ProxyHeader = ["Proxy-Authenticate", "Proxy-Authorization", "Proxy-Connection"]
        for header in ProxyHeader {
            removeHeader(header)

        return strRep
    }

    public func addHeader(key: String, value: String) {
        headers.append(key, value)
    }

    public func rewriteToRelativePath() {
        if path[path.startIndex] != "/" {
            guard let rewrotePath = URL.matchRelativePath(path) else {
                return
