Registry / web-framework / koa-methodoverride

koa-methodoverride

JSON →
library2.0.0jsnpmunverified

HTTP method override middleware for Koa, allowing clients to override the HTTP method (e.g., POST to PUT/DELETE) via X-HTTP-Method-Override header or query parameter. Version 2.0.0 is the latest stable release, designed for Koa v1 (generator-based) and Node >=4. It is a simple port of Express's method-override middleware. Unlike more modern alternatives, it does not support Koa v2 async/await natively and has minimal configuration options.

npm install koa-methodoverride
INSTALL
IMPORT
SIG · KOA-METHODOVERRIDE
K
koa-methodoverride
web-frameworkjavascriptv2.0.0
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

methodOverride
const methodOverride = require('koa-methodoverride');
import methodOverride from 'koa-methodoverride';
This package is CJS-only; ESM import will fail.
default (function)
app.use(require('koa-methodoverride')());
require('koa-methodoverride')(app);
It must be used as middleware, not invoked on the app directly.
with options
const methodOverride = require('koa-methodoverride'); app.use(methodOverride('X-HTTP-Method'));
app.use(methodOverride({header: 'X-HTTP-Method'}));
Options are passed as string (header name) or object with `methods` array; passing an object with `header` key is not supported.

Shows minimal setup: add methodOverride middleware before your route handler, then send a POST with header X-HTTP-Method-Override: PUT to see the method change.

const Koa = require('koa'); const methodOverride = require('koa-methodoverride'); const app = new Koa(); app.use(methodOverride()); app.use(async (ctx) => { ctx.body = `Method: ${ctx.method}`; }); app.listen(3000);
Debug
Known issues
breakingkoa-methodoverride v2 does not support Koa v2 async/await syntax; middleware must be generator functions.
fix
Use koa-methodoverride@1 for Koa v1, or use a different method-override package compatible with Koa v2.
affects: >=2.0.0
gotchaThe middleware modifies `ctx.method` only; it does not alter the request body. You must still have a body parser if you expect a POST body.
fix
Ensure body parsing (e.g., koa-bodyparser) is used before methodOverride if you need to parse request body.
affects: >=0.0.0
deprecatedThis package has not been updated since 2016 and is considered deprecated in favor of method-override for Koa v2.
fix
Migrate to a Koa v2 compatible package like koa-method-override (note: different name).
affects: >=2.0.0
Errors
Common errors & fixes
TypeError: methodOverride is not a function
Importing package incorrectly (e.g., using default import in ESM).
fix
Use const methodOverride = require('koa-methodoverride'); (CommonJS).
TypeError: app.use() requires a generator function
Using Koa v2 (async/await) with this generator-based middleware.
fix
Use Koa v1 or wrap middleware with koa-convert: const convert = require('koa-convert'); app.use(convert(methodOverride()));
Cannot find module 'koa-methodoverride'
Package not installed or ESM import path incorrect.
fix
Run npm install koa-methodoverride; use require('koa-methodoverride') (no default export).
Upgrade
Version history
2.0.0latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
4 hits · last 30 days
node
4
Resources
koa-methodoverride — npm install koa-methodoverride · libregistry