Ignore:
Timestamp:
Oct 30, 2013, 1:24:11 PM (10 years ago)
Author:
djay
Message:

Detect mimetype of downloaded content.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/zoo-project/zoo-kernel/ulinet.c

    r375 r446  
    3939  psInternet=(HINTERNET *)data;
    4040  if(psInternet->pabyData){
    41     psInternet->pabyData=(char*)realloc(psInternet->pabyData,psInternet->nDataLen+realsize+1);
     41    psInternet->pabyData=(unsigned char*)realloc(psInternet->pabyData,psInternet->nDataLen+realsize+1);
    4242    psInternet->nDataAlloc+=psInternet->nDataLen+realsize+1;
    4343  }
    4444  else{
    45     psInternet->pabyData=(char*)malloc(psInternet->nDataLen+realsize+1);
     45    psInternet->pabyData=(unsigned char*)malloc(psInternet->nDataLen+realsize+1);
    4646    psInternet->nDataAlloc=realsize+1;
    4747  }
     
    106106  CFArrayRef            proxies;
    107107 
    108   CFStringRef key_enabled;
    109   CFStringRef key_host;
    110   CFStringRef key_port;
     108  CFStringRef key_enabled = NULL;
     109  CFStringRef key_host = NULL;
     110  CFStringRef key_port = NULL;
    111111 
    112112  bool proxy_enabled;
     
    120120  proxyDict = SCDynamicStoreCopyProxies(NULL);
    121121
    122   if(proto=="http"){
     122  if(strncmp(proto,"http",4)==0){
    123123      key_enabled=kSCPropNetProxiesHTTPEnable;
    124124      key_host=kSCPropNetProxiesHTTPProxy;
     
    126126  }
    127127  else
    128     if(proto=="https"){
     128    if(strncmp(proto,"https",5)==0){
    129129      key_enabled=kSCPropNetProxiesHTTPSEnable;
    130130      key_host=kSCPropNetProxiesHTTPSProxy;
     
    168168  ret.hasCacheFile=0;
    169169  ret.nDataAlloc = 0;
     170  ret.mimeType = NULL;
    170171
    171172  ret.handle=curl_easy_init();
     
    191192
    192193  return ret;
    193 }
    194 
    195 static size_t
    196 CurlWriteCB(void *buffer, size_t size, size_t nmemb, void *reqInfo){
    197   HINTERNET *psInternet = (HINTERNET *) reqInfo;
    198 
    199   memcpy( psInternet->pabyData + psInternet->nDataLen, buffer,  nmemb * size );
    200   psInternet->nDataLen += nmemb * size;
    201   psInternet->pabyData[psInternet->nDataLen] = 0;
    202 
    203   return nmemb *size;
    204194}
    205195
     
    208198    fclose(handle.file);
    209199    unlink(handle.filename);
     200    handle.mimeType = NULL;
    210201  }
    211202  else{
    212203    handle.pabyData = NULL;
     204    handle.mimeType = NULL;
    213205    handle.nDataAlloc = handle.nDataLen = 0;
    214206  }
     
    271263  curl_easy_setopt(hInternet.handle,CURLOPT_URL,lpszUrl);
    272264  curl_easy_perform(hInternet.handle);
    273 
     265  curl_easy_getinfo(hInternet.handle,CURLINFO_CONTENT_TYPE,&hInternet.mimeType);
     266#ifdef ULINET_DEBUG
     267  fprintf(stderr,"DEBUG MIMETYPE: %s\n",hInternet.mimeType);
     268#endif
    274269  return hInternet;
    275270};
Note: See TracChangeset for help on using the changeset viewer.

Search

Context Navigation

ZOO Sponsors

http://www.zoo-project.org/trac/chrome/site/img/geolabs-logo.pnghttp://www.zoo-project.org/trac/chrome/site/img/neogeo-logo.png http://www.zoo-project.org/trac/chrome/site/img/apptech-logo.png http://www.zoo-project.org/trac/chrome/site/img/3liz-logo.png http://www.zoo-project.org/trac/chrome/site/img/gateway-logo.png

Become a sponsor !

Knowledge partners

http://www.zoo-project.org/trac/chrome/site/img/ocu-logo.png http://www.zoo-project.org/trac/chrome/site/img/gucas-logo.png http://www.zoo-project.org/trac/chrome/site/img/polimi-logo.png http://www.zoo-project.org/trac/chrome/site/img/fem-logo.png http://www.zoo-project.org/trac/chrome/site/img/supsi-logo.png http://www.zoo-project.org/trac/chrome/site/img/cumtb-logo.png

Become a knowledge partner

Related links

http://zoo-project.org/img/ogclogo.png http://zoo-project.org/img/osgeologo.png