NPM method-override Package


method-override

The method-override module allows you to use HTTP verbs such as PUT or DELETE in places where they are not supported by default, such as in forms.

Usage

To use the method-override middleware, simply install it using npm:

npm install method-override

Then, add the middleware to your Express or Connect application:

const express = require('express');
const methodOverride = require('method-override');

const app = express();

// Use the methodOverride middleware
app.use(methodOverride());

Now, you can use the X-HTTP-Method-Override header to specify the intended HTTP verb for a request. For example, the following form will submit a DELETE request:

<form method="post" action="/delete">
  <input type="hidden" name="_method" value="delete">
  <input type="submit" value="Delete">
</form>

Configuration Options

The method-override middleware can be configured with the following options:

  • methods: An array of HTTP verbs that the middleware should support. By default, the middleware supports PUT, DELETE, PATCH, and MERGE.
  • overrideHeader: The name of the header that contains the intended HTTP verb. By default, this is X-HTTP-Method-Override.

Best Practices

When using the method-override middleware, it is important to keep the following best practices in mind:

  • Always use the X-HTTP-Method-Override header to specify the intended HTTP verb. This will help to prevent security vulnerabilities.
  • Only use the method-override middleware when necessary. In most cases, it is better to use the correct HTTP verb in your forms.
  • Be aware that the method-override middleware can be used to bypass CSRF protection. This is something to keep in mind when designing your security policies.