From ae8de36df0f996f3a2bd31c31c9e39d7b1b9fda0 Mon Sep 17 00:00:00 2001 From: Tracer Tong Date: Sat, 28 May 2016 00:54:11 +0900 Subject: [PATCH] Issue #107 (#108) --- header.go | 5 +++++ header_test.go | 3 +++ server.go | 5 +++++ strings.go | 9 +++++---- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/header.go b/header.go index a08a186..f831f0f 100644 --- a/header.go +++ b/header.go @@ -518,6 +518,11 @@ func (h *RequestHeader) IsHead() bool { return bytes.Equal(h.Method(), strHead) } +// IsDelete returns true if request method is DELETE. +func (h *RequestHeader) IsDelete() bool { + return bytes.Equal(h.Method(), strDelete) +} + // IsHTTP11 returns true if the request is HTTP/1.1. func (h *RequestHeader) IsHTTP11() bool { return !h.noHTTP11 diff --git a/header_test.go b/header_test.go index e60222a..50ac2a1 100644 --- a/header_test.go +++ b/header_test.go @@ -793,6 +793,9 @@ func TestRequestHeaderEmptyMethod(t *testing.T) { if h.IsHead() { t.Fatalf("empty method cannot be HEAD") } + if h.IsDelete() { + t.Fatalf("empty method cannot be DELETE") + } } func TestResponseHeaderHTTPVer(t *testing.T) { diff --git a/server.go b/server.go index e7c2f58..9ef4cf9 100644 --- a/server.go +++ b/server.go @@ -762,6 +762,11 @@ func (ctx *RequestCtx) IsPut() bool { return ctx.Request.Header.IsPut() } +// IsDelete returns true if request method is DELETE. +func (ctx *RequestCtx) IsDelete() bool { + return ctx.Request.Header.IsDelete() +} + // Method return request method. // // Returned value is valid until returning from RequestHandler. diff --git a/strings.go b/strings.go index 7090969..656df1c 100644 --- a/strings.go +++ b/strings.go @@ -22,10 +22,11 @@ var ( strResponseContinue = []byte("HTTP/1.1 100 Continue\r\n\r\n") - strGet = []byte("GET") - strHead = []byte("HEAD") - strPost = []byte("POST") - strPut = []byte("PUT") + strGet = []byte("GET") + strHead = []byte("HEAD") + strPost = []byte("POST") + strPut = []byte("PUT") + strDelete = []byte("DELETE") strExpect = []byte("Expect") strConnection = []byte("Connection")