method

package module
v0.0.0-...-905dacd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2014 License: MIT Imports: 2 Imported by: 1

README

method wercker status

Martini middleware/handler for handling http method overrides. This checks for the X-HTTP-Method-Override header and uses it if the original request method is POST. GET/HEAD methods shouldn't be overriden, hence they can't be overriden.

This is useful for REST APIs and services making use of many HTTP verbs, and when http clients don't support all of them.

API Reference

Usage

import (
  "github.com/codegangsta/martini"
  "github.com/martini-contrib/method"
)

func main() {
  m := martini.Classic()
  m.Use(method.Override())
  m.Run()
}

Authors

Documentation

Overview

package method implements http method override using the X-HTTP-Method-Override http header.

Index

Constants

View Source
const HeaderHTTPMethodOverride = "X-HTTP-Method-Override"

HeaderHTTPMethodOverride is a commonly used Http header to override the method.

View Source
const ParamHTTPMethodOverride = "_method"

ParamHTTPMethodOverride is a commonly used HTML form parameter to override the method.

Variables

View Source
var ErrInvalidOverrideMethod = errors.New("invalid override method")

ErrInvalidOverrideMethod is returned when an invalid http method was given to OverrideRequestMethod.

Functions

func Override

func Override() http.Handler

Override checks for the X-HTTP-Method-Override header or the HTML for parameter, `_method` and uses (if valid) the http method instead of Request.Method. This is especially useful for http clients that don't support many http verbs. It isn't secure to override e.g a GET to a POST, so only Request.Method which are POSTs are considered.

func OverrideRequestMethod

func OverrideRequestMethod(r *http.Request, method string) error

OverrideRequestMethod overrides the http request's method with the specified method.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL