From eda51acd9d02e86d955ee209d64f33727152edc3 Mon Sep 17 00:00:00 2001 From: Ian Partridge Date: Thu, 18 Apr 2019 21:55:12 +0100 Subject: [PATCH] feat: Add HTTPClient.patch() for sending PATCH requests (#15) `PATCH` is a commonly supported verb in RESTful APIs. Although it is already possible to send a PATCH request via the `HTTPClient.execute()` API this commit adds an explicit `patch()` API for consistency. This gives us explicit APIs for `GET`, `POST`, `PUT`, `PATCH` and `DELETE`. --- Sources/NIOHTTPClient/SwiftNIOHTTP.swift | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Sources/NIOHTTPClient/SwiftNIOHTTP.swift b/Sources/NIOHTTPClient/SwiftNIOHTTP.swift index f7fc113..baf8ce2 100644 --- a/Sources/NIOHTTPClient/SwiftNIOHTTP.swift +++ b/Sources/NIOHTTPClient/SwiftNIOHTTP.swift @@ -82,6 +82,15 @@ public class HTTPClient { } } + public func patch(url: String, body: Body? = nil, timeout: Timeout? = nil) -> EventLoopFuture { + do { + let request = try HTTPClient.Request(url: url, method: .PATCH, body: body) + return self.execute(request: request) + } catch { + return self.group.next().makeFailedFuture(error) + } + } + public func put(url: String, body: Body? = nil, timeout: Timeout? = nil) -> EventLoopFuture { do { let request = try HTTPClient.Request(url: url, method: .PUT, body: body)