3
An HTTP content negotiator for node.js written in javascript.
7
Negotiator = require('negotiator')
9
availableMediaTypes = ['text/html', 'text/plain', 'application/json']
11
// The negotiator constructor receives a request object
12
negotiator = new Negotiator(request)
14
// Let's say Accept header is 'text/html, application/*;q=0.2, image/jpeg;q=0.8'
16
negotiator.preferredMediaTypes()
17
// -> ['text/html', 'image/jpeg', 'application/*']
19
negotiator.preferredMediaTypes(availableMediaTypes)
20
// -> ['text/html', 'application/json']
22
negotiator.preferredMediaType(availableMediaTypes)
25
You can check a working example at `examples/accept.js`.
29
`preferredMediaTypes(availableMediaTypes)`:
31
Returns an array of preferred media types ordered by priority from a list of available media types.
33
`preferredMediaType(availableMediaType)`:
35
Returns the top preferred media type from a list of available media types.
37
# Accept-Language Negotiation
39
Negotiator = require('negotiator')
41
negotiator = new Negotiator(request)
43
availableLanguages = 'en', 'es', 'fr'
45
// Let's say Accept-Language header is 'en;q=0.8, es, pt'
47
negotiator.preferredLanguages()
48
// -> ['es', 'pt', 'en']
50
negotiator.preferredLanguages(availableLanguages)
53
language = negotiator.preferredLanguage(availableLanguages)
56
You can check a working example at `examples/language.js`.
60
`preferredLanguages(availableLanguages)`:
62
Returns an array of preferred languages ordered by priority from a list of available languages.
64
`preferredLanguage(availableLanguages)`:
66
Returns the top preferred language from a list of available languages.
68
# Accept-Charset Negotiation
70
Negotiator = require('negotiator')
72
availableCharsets = ['utf-8', 'iso-8859-1', 'iso-8859-5']
74
negotiator = new Negotiator(request)
76
// Let's say Accept-Charset header is 'utf-8, iso-8859-1;q=0.8, utf-7;q=0.2'
78
negotiator.preferredCharsets()
79
// -> ['utf-8', 'iso-8859-1', 'utf-7']
81
negotiator.preferredCharsets(availableCharsets)
82
// -> ['utf-8', 'iso-8859-1']
84
negotiator.preferredCharset(availableCharsets)
87
You can check a working example at `examples/charset.js`.
91
`preferredCharsets(availableCharsets)`:
93
Returns an array of preferred charsets ordered by priority from a list of available charsets.
95
`preferredCharset(availableCharsets)`:
97
Returns the top preferred charset from a list of available charsets.
99
# Accept-Encoding Negotiation
101
Negotiator = require('negotiator').Negotiator
103
availableEncodings = ['identity', 'gzip']
105
negotiator = new Negotiator(request)
107
// Let's say Accept-Encoding header is 'gzip, compress;q=0.2, identity;q=0.5'
109
negotiator.preferredEncodings()
110
// -> ['gzip', 'identity', 'compress']
112
negotiator.preferredEncodings(availableEncodings)
113
// -> ['gzip', 'identity']
115
negotiator.preferredEncoding(availableEncodings)
118
You can check a working example at `examples/encoding.js`.
122
`preferredEncodings(availableEncodings)`:
124
Returns an array of preferred encodings ordered by priority from a list of available encodings.
126
`preferredEncoding(availableEncodings)`:
128
Returns the top preferred encoding from a list of available encodings.