Ignore:
Timestamp:
03/21/14 15:33:21 (3 years ago)
Author:
Maxim Dounin <mdounin@…>
Branch:
default
Message:

Range filter: single_range flag in request.

If set, it means that response body is going to be in more than one buffer,
hence only range requests with a single range should be honored.

The flag is now used by mp4 and cacheable upstream responses, thus allowing
range requests of mp4 files with start/end, as well as range processing
on a first request to a not-yet-cached files with proxy_cache.

Notably this makes it possible to play mp4 files (with proxy_cache, or with
mp4 module) on iOS devices, as byte-range support is required by Apple.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/http/ngx_http_upstream.c

    r5581 r5621  
    41844184        r->allow_ranges = 1;
    41854185        return NGX_OK;
    4186 
     4186    }
     4187
     4188    if (r->upstream->cacheable) {
     4189        r->allow_ranges = 1;
     4190        r->single_range = 1;
     4191        return NGX_OK;
    41874192    }
    41884193
Note: See TracChangeset for help on using the changeset viewer.