diff --git a/core/Files/AsyncHttpRequest.php b/core/Files/AsyncHttpRequest.php index 6dbe1d4b..fc9c9a34 100644 --- a/core/Files/AsyncHttpRequest.php +++ b/core/Files/AsyncHttpRequest.php @@ -109,6 +109,34 @@ class AsyncHttpRequest implements UsageInformationAble { $this->processRequest($request); } + + /** + * Carry out a PatchData Request + */ + public function patchData() { + array_push($this->headers, 'Content-Type: ' . $this->contentType); + array_push($this->headers, 'Keep-Alive: timeout=600, max=2000'); + array_push($this->headers, 'Connection: Keep-Alive'); + array_push($this->headers, 'Expect:'); + array_push($this->headers, 'Accept-Charset: utf-8'); + + $content = $this->content; + if ($this->compression) { + $content = gzencode($this->content); + array_push($this->headers, 'Content-Encoding: gzip'); + } + + + $request = $this->newRequest($this->url, $this->timeout); + $request->getOptions()->set(CURLOPT_CUSTOMREQUEST, 'PATCH')// patch method + ->set(CURLOPT_POSTFIELDS, $content)// post content field + ->set(CURLOPT_HTTPHEADER, $this->headers) // headers + ; + + $this->processRequest($request); + } + + /** * Processes the Request *