Proposed workerd issue
Title
Support MKCALENDAR requests at Worker ingress
Body
Reproduction
Deploy a module Worker that returns the incoming request method:
export default {
fetch(request: Request): Response {
return new Response(request.method, {
headers: { "X-Observed-Method": request.method },
});
},
};
Then send:
curl -i -X PROPFIND https://<worker>.workers.dev/
curl -i -X MKCOL https://<worker>.workers.dev/
curl -i -X MKCALENDAR https://<worker>.workers.dev/
With Wrangler 4.110.0 and compatibility date 2026-07-12, PROPFIND and MKCOL reach the Worker and return its response. MKCALENDAR does not reach the Worker and instead returns:
HTTP/2 501
content-length: 0
server: cloudflare
wrangler dev reproduces the rejection locally as:
HTTP/1.1 501 Not Implemented
ERROR: Unrecognized request method.
Constructing the same request through the Workers Vitest runtime rejects before invocation with:
TypeError: Invalid HTTP method string: MKCALENDAR
Expected behavior
MKCALENDAR should reach Worker code like the other supported WebDAV methods.
Use case
MKCALENDAR is defined by CalDAV (RFC 4791) and is required for standards-based creation of calendar collections. Returning 501 before Worker invocation prevents a Worker from implementing complete CalDAV calendar creation.
Source observation
Current workerd source includes common WebDAV methods such as MKCOL, PROPFIND, PROPPATCH, ACL, and REPORT in the kj::HttpMethod bridge but omits MKCALENDAR:
Wrangler's bundled HTTP parser and Node HTTP method constants already recognize MKCALENDAR, so the rejection appears to occur at the workerd HTTP-method boundary.
Proposed workerd issue
Title
Support
MKCALENDARrequests at Worker ingressBody
Reproduction
Deploy a module Worker that returns the incoming request method:
Then send:
With Wrangler 4.110.0 and compatibility date 2026-07-12,
PROPFINDandMKCOLreach the Worker and return its response.MKCALENDARdoes not reach the Worker and instead returns:wrangler devreproduces the rejection locally as:Constructing the same request through the Workers Vitest runtime rejects before invocation with:
Expected behavior
MKCALENDARshould reach Worker code like the other supported WebDAV methods.Use case
MKCALENDARis defined by CalDAV (RFC 4791) and is required for standards-based creation of calendar collections. Returning 501 before Worker invocation prevents a Worker from implementing complete CalDAV calendar creation.Source observation
Current workerd source includes common WebDAV methods such as
MKCOL,PROPFIND,PROPPATCH,ACL, andREPORTin thekj::HttpMethodbridge but omitsMKCALENDAR:Wrangler's bundled HTTP parser and Node HTTP method constants already recognize
MKCALENDAR, so the rejection appears to occur at the workerd HTTP-method boundary.