Mercurial > hg > ngx_http_bytes_filter_module
annotate README @ 6:91985471307e
Add license and some minimal documentation.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 04 Jul 2008 05:35:38 +0400 |
parents | |
children |
rev | line source |
---|---|
6
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
1 Bytes module for nginx. |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
2 |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
3 This module was designed to allow easy access to range of file data. It |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
4 searches request arguments for 'bytes=...' and return requested range. All |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
5 requested data is returned concatinated in single reply, with apropriate |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
6 Content-Length set. |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
7 |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
8 All of the above allows to do nasty things with regular files and even |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
9 proxied replies, including things like flv streaming. E.g. one may use |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
10 something like this instead of flv module: |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
11 |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
12 location /video/ { |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
13 bytes on; |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
14 if ($args ~ "start=(\d+)") { |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
15 set $args "bytes=0-12,$1-"; |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
16 } |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
17 } |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
18 |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
19 Argument bytes= must contain range specification as defined in RFC 2616, |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
20 "14.35.1 Byte Ranges", with the following exceptions: |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
21 |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
22 1. Whitespaces aren't permitted. |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
23 |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
24 1. Ranges must not overlap and must be monothonic. E.g. something |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
25 like "bytes=10-20,0-10" isn't premitted. |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
26 |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
27 To compile nginx with bytes module, use "--add-module <path>" option to nginx |
91985471307e
Add license and some minimal documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
28 configure. |