From 4eb44ee48f30e1793c6c29553f4a6ff0d2700568 Mon Sep 17 00:00:00 2001 From: Michael Eichberg Date: Thu, 31 May 2012 23:29:29 +0200 Subject: [PATCH] added support for the "CONNECT" HTTP method --- .../scala/org/dorest/server/HTTPMethod.scala | 49 ++++++++++--------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/core/src/main/scala/org/dorest/server/HTTPMethod.scala b/core/src/main/scala/org/dorest/server/HTTPMethod.scala index f512205..ebf07bf 100644 --- a/core/src/main/scala/org/dorest/server/HTTPMethod.scala +++ b/core/src/main/scala/org/dorest/server/HTTPMethod.scala @@ -15,38 +15,41 @@ */ package org.dorest.server -/** - * - * @author Michael Eichberg - * @author Mateusz Parzonka - */ +/** The list of all HTTP Methods as defined by "Hypertext Transfer Protocol -- HTTP/1.1 (RFC 2616)" and also + * "PATCH Method for HTTP (RFC 5789)". + * + * @author Michael Eichberg + * @author Mateusz Parzonka + */ sealed trait HTTPMethod object HTTPMethod { def apply(methodName: String) = methodName match { - case "GET" => GET - case "POST" => POST - case "PUT" => PUT - case "DELETE" => DELETE - case "PATCH" => PATCH - case "OPTIONS" => OPTIONS - case "HEAD" => HEAD + case "GET" ⇒ GET + case "POST" ⇒ POST + case "PUT" ⇒ PUT + case "DELETE" ⇒ DELETE + case "PATCH" ⇒ PATCH + case "OPTIONS" ⇒ OPTIONS + case "HEAD" ⇒ HEAD + case "CONNECT" ⇒ CONNECT } - + def unapply(method: HTTPMethod): String = method match { - case GET => "GET" - case POST => "POST" - case PUT => "PUT" - case DELETE => "DELETE" - case PATCH => "PATCH" - case OPTIONS => "OPTIONS" - case HEAD => "HEAD" + case GET ⇒ "GET" + case POST ⇒ "POST" + case PUT ⇒ "PUT" + case DELETE ⇒ "DELETE" + case PATCH ⇒ "PATCH" + case OPTIONS ⇒ "OPTIONS" + case HEAD ⇒ "HEAD" + case CONNECT ⇒ "CONNECT" } - + } -case object GET extends HTTPMethod +case object GET extends HTTPMethod case object POST extends HTTPMethod @@ -59,3 +62,5 @@ case object PATCH extends HTTPMethod case object OPTIONS extends HTTPMethod case object HEAD extends HTTPMethod + +case object CONNECT extends HTTPMethod