Skip to content

XamanSoft/ngx_http_bytes_filter_module

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bytes module for nginx.

Update: change response header from 200 OK to 206 partial content.

This module was designed to allow easy access to range of file data. It searches request arguments for 'bytes=...' and return requested range. All requested data is returned concatinated in single reply, with apropriate Content-Length set.

All of the above allows to do nasty things with regular files and even proxied replies, including things like flv streaming. E.g. one may use something like this instead of flv module:

location /video/ {
    bytes on;
    if ($args ~ "start=(\d+)") {
        set  $args  "bytes=0-12,$1-";
    }
}

Argument bytes= must contain range specification as defined in RFC 2616, "14.35.1 Byte Ranges", with the following exceptions:

1. Whitespaces aren't permitted.

1. Ranges must not overlap and must be monothonic.  E.g. something
   like "bytes=10-20,0-10" isn't premitted.

To compile nginx with bytes module, use "--add-module " option to nginx configure.

ToDo

  • Create flag to switch between 200 and 206 status code.

Packages

No packages published

Languages

  • C 83.5%
  • Perl 16.5%