     case Connect
     case Options
     case Trace
+    case Patch
     case Other(method: String)
 }
 

          self = .Options
      case "TRACE":
          self = .Trace
      default:
          self = .Other(method: method)
      }

        case .Connect:         return "CONNECT"
        case .Options:         return "OPTIONS"
        case .Trace:           return "TRACE"
        case .Patch:           return "PATCH"
        case .Other(let method): return method.uppercaseString
        }
    }
