~ubuntu-branches/ubuntu/wily/node-negotiator/wily

« back to all changes in this revision

Viewing changes to readme.md

  • Committer: Package Import Robot
  • Author(s): Jérémy Lal
  • Date: 2013-10-20 17:33:37 UTC
  • Revision ID: package-import@ubuntu.com-20131020173337-75k05okhr2qhqcy1
Tags: upstream-0.3.0
Import upstream version 0.3.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Negotiator
 
2
 
 
3
An HTTP content negotiator for node.js written in javascript.
 
4
 
 
5
# Accept Negotiation
 
6
 
 
7
    Negotiator = require('negotiator')
 
8
 
 
9
    availableMediaTypes = ['text/html', 'text/plain', 'application/json']
 
10
 
 
11
    // The negotiator constructor receives a request object
 
12
    negotiator = new Negotiator(request)
 
13
 
 
14
    // Let's say Accept header is 'text/html, application/*;q=0.2, image/jpeg;q=0.8'
 
15
 
 
16
    negotiator.preferredMediaTypes()
 
17
    // -> ['text/html', 'image/jpeg', 'application/*']
 
18
 
 
19
    negotiator.preferredMediaTypes(availableMediaTypes)
 
20
    // -> ['text/html', 'application/json']
 
21
 
 
22
    negotiator.preferredMediaType(availableMediaTypes)
 
23
    // -> 'text/html'
 
24
 
 
25
You can check a working example at `examples/accept.js`.
 
26
 
 
27
## Methods
 
28
 
 
29
`preferredMediaTypes(availableMediaTypes)`:
 
30
 
 
31
Returns an array of preferred media types ordered by priority from a list of available media types.
 
32
 
 
33
`preferredMediaType(availableMediaType)`:
 
34
 
 
35
Returns the top preferred media type from a list of available media types.
 
36
 
 
37
# Accept-Language Negotiation
 
38
 
 
39
    Negotiator = require('negotiator')
 
40
 
 
41
    negotiator = new Negotiator(request)
 
42
 
 
43
    availableLanguages = 'en', 'es', 'fr'
 
44
 
 
45
    // Let's say Accept-Language header is 'en;q=0.8, es, pt'
 
46
 
 
47
    negotiator.preferredLanguages()
 
48
    // -> ['es', 'pt', 'en']
 
49
 
 
50
    negotiator.preferredLanguages(availableLanguages)
 
51
    // -> ['es', 'en']
 
52
 
 
53
    language = negotiator.preferredLanguage(availableLanguages)
 
54
    // -> 'es'
 
55
 
 
56
You can check a working example at `examples/language.js`.
 
57
 
 
58
## Methods
 
59
 
 
60
`preferredLanguages(availableLanguages)`:
 
61
 
 
62
Returns an array of preferred languages ordered by priority from a list of available languages.
 
63
 
 
64
`preferredLanguage(availableLanguages)`:
 
65
 
 
66
Returns the top preferred language from a list of available languages.
 
67
 
 
68
# Accept-Charset Negotiation
 
69
 
 
70
    Negotiator = require('negotiator')
 
71
 
 
72
    availableCharsets = ['utf-8', 'iso-8859-1', 'iso-8859-5']
 
73
 
 
74
    negotiator = new Negotiator(request)
 
75
 
 
76
    // Let's say Accept-Charset header is 'utf-8, iso-8859-1;q=0.8, utf-7;q=0.2'
 
77
 
 
78
    negotiator.preferredCharsets()
 
79
    // -> ['utf-8', 'iso-8859-1', 'utf-7']
 
80
 
 
81
    negotiator.preferredCharsets(availableCharsets)
 
82
    // -> ['utf-8', 'iso-8859-1']
 
83
 
 
84
    negotiator.preferredCharset(availableCharsets)
 
85
    // -> 'utf-8'
 
86
 
 
87
You can check a working example at `examples/charset.js`.
 
88
 
 
89
## Methods
 
90
 
 
91
`preferredCharsets(availableCharsets)`:
 
92
 
 
93
Returns an array of preferred charsets ordered by priority from a list of available charsets.
 
94
 
 
95
`preferredCharset(availableCharsets)`:
 
96
 
 
97
Returns the top preferred charset from a list of available charsets.
 
98
 
 
99
# Accept-Encoding Negotiation
 
100
 
 
101
    Negotiator = require('negotiator').Negotiator
 
102
 
 
103
    availableEncodings = ['identity', 'gzip']
 
104
 
 
105
    negotiator = new Negotiator(request)
 
106
 
 
107
    // Let's say Accept-Encoding header is 'gzip, compress;q=0.2, identity;q=0.5'
 
108
 
 
109
    negotiator.preferredEncodings()
 
110
    // -> ['gzip', 'identity', 'compress']
 
111
 
 
112
    negotiator.preferredEncodings(availableEncodings)
 
113
    // -> ['gzip', 'identity']
 
114
 
 
115
    negotiator.preferredEncoding(availableEncodings)
 
116
    // -> 'gzip'
 
117
 
 
118
You can check a working example at `examples/encoding.js`.
 
119
 
 
120
## Methods
 
121
 
 
122
`preferredEncodings(availableEncodings)`:
 
123
 
 
124
Returns an array of preferred encodings ordered by priority from a list of available encodings.
 
125
 
 
126
`preferredEncoding(availableEncodings)`:
 
127
 
 
128
Returns the top preferred encoding from a list of available encodings.
 
129
 
 
130
# License
 
131
 
 
132
MIT