diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/getinfo.c | 28 | ||||
-rw-r--r-- | lib/http.c | 3 | ||||
-rw-r--r-- | lib/urldata.h | 1 |
3 files changed, 28 insertions, 4 deletions
diff --git a/lib/getinfo.c b/lib/getinfo.c index 6d5bd5fc5..675a616f0 100644 --- a/lib/getinfo.c +++ b/lib/getinfo.c @@ -95,6 +95,34 @@ static CURLcode getinfo_char(struct Curl_easy *data, CURLINFO info, case CURLINFO_EFFECTIVE_URL: *param_charp = data->change.url?data->change.url:(char *)""; break; + case CURLINFO_EFFECTIVE_METHOD: { + const char *m = data->set.str[STRING_CUSTOMREQUEST]; + if(!m) { + if(data->set.opt_no_body) + m = "HEAD"; + else { + switch(data->state.httpreq) { + case HTTPREQ_POST: + case HTTPREQ_POST_FORM: + case HTTPREQ_POST_MIME: + m = "POST"; + break; + case HTTPREQ_PUT: + m = "PUT"; + break; + default: /* this should never happen */ + case HTTPREQ_GET: + m = "GET"; + break; + case HTTPREQ_HEAD: + m = "HEAD"; + break; + } + } + } + *param_charp = m; + } + break; case CURLINFO_CONTENT_TYPE: *param_charp = data->info.contenttype; break; diff --git a/lib/http.c b/lib/http.c index 28d66c287..8fcdd436d 100644 --- a/lib/http.c +++ b/lib/http.c @@ -2014,9 +2014,6 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) case HTTPREQ_PUT: request = "PUT"; break; - case HTTPREQ_OPTIONS: - request = "OPTIONS"; - break; default: /* this should never happen */ case HTTPREQ_GET: request = "GET"; diff --git a/lib/urldata.h b/lib/urldata.h index f80a02def..332ffb392 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -1195,7 +1195,6 @@ typedef enum { HTTPREQ_POST_MIME, /* we make a difference internally */ HTTPREQ_PUT, HTTPREQ_HEAD, - HTTPREQ_OPTIONS, HTTPREQ_LAST /* last in list */ } Curl_HttpReq; |