Skip to content

Commit

Permalink
Merge pull request #3465 from karronoli/fix-curl-http
Browse files Browse the repository at this point in the history
Issue 14762 - Reduce confusion for libcurl after HTTP request.
  • Loading branch information
DmitryOlshansky committed Jul 28, 2015
2 parents cc64dc3 + 7877708 commit b34ff32
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions std/net/curl.d
Expand Up @@ -2266,35 +2266,45 @@ struct HTTP
{
p.status.reset();

CurlOption opt;
final switch (p.method)
{
case Method.head:
p.curl.set(CurlOption.nobody, 1L);
opt = CurlOption.nobody;
break;
case Method.undefined:
case Method.get:
p.curl.set(CurlOption.httpget, 1L);
opt = CurlOption.httpget;
break;
case Method.post:
p.curl.set(CurlOption.post, 1L);
opt = CurlOption.post;
break;
case Method.put:
p.curl.set(CurlOption.upload, 1L);
opt = CurlOption.upload;
break;
case Method.del:
p.curl.set(CurlOption.customrequest, "DELETE");
opt = CurlOption.customrequest;
break;
case Method.options:
p.curl.set(CurlOption.customrequest, "OPTIONS");
opt = CurlOption.customrequest;
break;
case Method.trace:
p.curl.set(CurlOption.customrequest, "TRACE");
opt = CurlOption.customrequest;
break;
case Method.connect:
p.curl.set(CurlOption.customrequest, "CONNECT");
opt = CurlOption.customrequest;
break;
}

scope (exit) p.curl.clear(opt);
return p.curl.perform(throwOnError);
}

Expand Down

0 comments on commit b34ff32

Please sign in to comment.