diff --git a/Sources/Peasy/Internal/RequestParser.swift b/Sources/Peasy/Internal/RequestParser.swift index 3f2c8ae..fe5a6b1 100644 --- a/Sources/Peasy/Internal/RequestParser.swift +++ b/Sources/Peasy/Internal/RequestParser.swift @@ -74,7 +74,7 @@ struct RequestParser { let methodRaw = String(statusComponents[0]) let pathWithQuery = String(statusComponents[1]) - let method = Request.Method(rawValue: methodRaw)! + let method = Request.Method(rawValue: methodRaw) ?? .unknown let path = parsePath(pathWithQuery) let headers = parseHeaders(lines.map { String($0) }) let queryParams = parseQueryParams(pathWithQuery) diff --git a/Sources/Peasy/Request.swift b/Sources/Peasy/Request.swift index e6b3645..9935123 100644 --- a/Sources/Peasy/Request.swift +++ b/Sources/Peasy/Request.swift @@ -44,6 +44,8 @@ public extension Request { case put = "PUT" case delete = "DELETE" case head = "HEAD" + case patch = "PATCH" + case unknown } /// Represents a query parameter in the request.