From 76c53c690cefa62e09aa553d0f1f9a26122c0ff1 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 29 Jan 2002 10:49:32 +0000 Subject: Giaslas Georgios introduced CURLINFO_CONTENT_TYPE --- lib/transfer.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'lib/transfer.c') diff --git a/lib/transfer.c b/lib/transfer.c index 448801b0f..7acd06ab4 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -466,6 +466,31 @@ CURLcode Curl_readwrite(struct connectdata *conn, conn->size = k->contentlength; Curl_pgrsSetDownloadSize(data, k->contentlength); } + /* check for Content-Type: header lines to get the mime-type */ + else if (strnequal("Content-Type:", k->p, 13)) { + char *start; + char *end; + int len; + + /* Find the first non-space letter */ + for(start=k->p+14; + *start && isspace((int)*start); + start++); + + /* count all non-space letters following */ + for(end=start+1, len=0; + *end && !isspace((int)*end); + end++, len++); + + /* allocate memory of a cloned copy */ + data->info.contenttype = malloc(len + 1); + if (NULL == data->info.contenttype) + return CURLE_OUT_OF_MEMORY; + + /* copy the content-type string */ + memcpy(data->info.contenttype, start, len); + data->info.contenttype[len] = 0; /* zero terminate */ + } else if((k->httpversion == 10) && conn->bits.httpproxy && compareheader(k->p, "Proxy-Connection:", "keep-alive")) { -- cgit v1.2.3