diff --git a/src/browser/webapi/net/Request.zig b/src/browser/webapi/net/Request.zig index 46cad2a1..4316ddbb 100644 --- a/src/browser/webapi/net/Request.zig +++ b/src/browser/webapi/net/Request.zig @@ -108,7 +108,7 @@ pub fn init(input: Input, opts_: ?InitOpts, page: *Page) !*Request { } fn parseMethod(method: []const u8, page: *Page) !Http.Method { - if (method.len > "options".len) { + if (method.len > "propfind".len) { return error.InvalidMethod; } @@ -122,6 +122,7 @@ fn parseMethod(method: []const u8, page: *Page) !Http.Method { .{ "patch", .PATCH }, .{ "head", .HEAD }, .{ "options", .OPTIONS }, + .{ "propfind", .PROPFIND }, }); return method_lookup.get(lower) orelse return error.InvalidMethod; } diff --git a/src/browser/webapi/net/XMLHttpRequest.zig b/src/browser/webapi/net/XMLHttpRequest.zig index 0bff9296..73e35309 100644 --- a/src/browser/webapi/net/XMLHttpRequest.zig +++ b/src/browser/webapi/net/XMLHttpRequest.zig @@ -539,6 +539,9 @@ fn parseMethod(method: []const u8) !Http.Method { if (std.ascii.eqlIgnoreCase(method, "put")) { return .PUT; } + if (std.ascii.eqlIgnoreCase(method, "propfind")) { + return .PROPFIND; + } return error.InvalidMethod; } diff --git a/src/http/Http.zig b/src/http/Http.zig index cd3b3ec9..65f298f2 100644 --- a/src/http/Http.zig +++ b/src/http/Http.zig @@ -211,6 +211,7 @@ pub const Connection = struct { .HEAD => "HEAD", .OPTIONS => "OPTIONS", .PATCH => "PATCH", + .PROPFIND => "PROPFIND", }; try errorCheck(c.curl_easy_setopt(easy, c.CURLOPT_CUSTOMREQUEST, m.ptr)); } @@ -342,6 +343,7 @@ pub const Method = enum(u8) { HEAD = 4, OPTIONS = 5, PATCH = 6, + PROPFIND = 7, }; // TODO: on BSD / Linux, we could just read the PEM file directly.