Ignore:
Timestamp:
2006-06-28 11:31:29 (8 years ago)
Author:
Poul-Henning Kamp <phk@…>
Branches:
master, 1.0, 1.1, 1.2, 3.0, 4.0, experimental-ims, tags/1.0, tags/varnish-0.9, tags/varnish-0.9.1, tags/varnish-0.9.1@805, tags/varnish-0.9@787, tags/varnish-1.0, tags/varnish-1.0.1, tags/varnish-1.0.2, tags/varnish-1.0.3, tags/varnish-1.0.4, tags/varnish-1.1, tags/varnish-1.1.1, tags/varnish-1.1.2
Children:
fb5e26
Parents:
f8968e
git-author:
Poul-Henning Kamp <phk@…> (2006-06-28 11:31:29)
git-committer:
Poul-Henning Kamp <phk@…> (2006-06-28 11:31:29)
Message:

304's don't have a body

git-svn-id:  http://www.varnish-cache.org/svn/trunk/varnish-cache@246 d4fa192b-c00b-0410-8231-f00ffab90ce4

File:
1 edited

Legend:

Unmodified
Added
Removed
  • bin/varnishd/cache_fetch.c

    ra9d074 r28d4a2d  
    6868                cl -= i; 
    6969        } 
    70  
    71         http_BuildSbuf(2, w->sb, hp); 
    72  
    73         vca_write_obj(sp, w->sb); 
    74  
    75 #if 0 
    76         hash->deref(sp->obj); 
    77 #endif 
    7870        return (0); 
    79  
    8071} 
    8172 
     
    185176        if (st != NULL && stevedore->trim != NULL) 
    186177                stevedore->trim(st, st->len); 
    187  
    188         http_BuildSbuf(2, w->sb, hp); 
    189  
    190         vca_write_obj(sp, w->sb); 
    191178        return (0); 
    192179} 
     
    238225                stevedore->trim(st, st->len); 
    239226 
    240         http_BuildSbuf(2, w->sb, hp); 
    241  
    242         vca_write_obj(sp, w->sb); 
    243227        return (1); 
    244228} 
     
    253237        char *b; 
    254238        time_t t_req, t_resp; 
     239        int body; 
    255240 
    256241        fd = VBE_GetFd(sp->backend, &fd_token); 
     
    283268                sp->obj->cacheable = 1; 
    284269                sp->obj->header = strdup(sbuf_data(w->sb)); 
     270                body = 1; 
     271                break; 
     272        case 304: 
     273                http_BuildSbuf(3, w->sb, hp); 
     274                /* XXX: fill in object from headers */ 
     275                sp->obj->valid = 1; 
     276                sp->obj->cacheable = 1; 
     277                sp->obj->header = strdup(sbuf_data(w->sb)); 
     278                body = 0; 
    285279                break; 
    286280        case 391: 
     
    302296                EXP_Insert(sp->obj); 
    303297 
    304         if (http_GetHdr(hp, "Content-Length", &b)) 
    305                 cls = fetch_straight(w, sp, fd, hp, b); 
    306         else if (http_HdrIs(hp, "Transfer-Encoding", "chunked")) 
    307                 cls = fetch_chunked(w, sp, fd, hp); 
    308         else  
    309                 cls = fetch_eof(w, sp, fd, hp); 
     298        if (body) { 
     299                if (http_GetHdr(hp, "Content-Length", &b)) 
     300                        cls = fetch_straight(w, sp, fd, hp, b); 
     301                else if (http_HdrIs(hp, "Transfer-Encoding", "chunked")) 
     302                        cls = fetch_chunked(w, sp, fd, hp); 
     303                else  
     304                        cls = fetch_eof(w, sp, fd, hp); 
     305        } else 
     306                cls = 0; 
     307 
     308        http_BuildSbuf(2, w->sb, hp); 
     309 
     310        vca_write_obj(sp, w->sb); 
    310311 
    311312        if (http_GetHdr(hp, "Connection", &b) && !strcasecmp(b, "close")) 
Note: See TracChangeset for help on using the changeset viewer.