mirror of
				https://github.com/KevinMidboe/zoff.git
				synced 2025-10-29 18:00:23 +00:00 
			
		
		
		
	Updated some dependencies and package.json
This commit is contained in:
		
							
								
								
									
										363
									
								
								server/node_modules/express/History.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										363
									
								
								server/node_modules/express/History.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,3 +1,190 @@
 | 
			
		||||
4.12.4 / 2015-05-17
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * deps: accepts@~1.2.7
 | 
			
		||||
    - deps: mime-types@~2.0.11
 | 
			
		||||
    - deps: negotiator@0.5.3
 | 
			
		||||
  * deps: debug@~2.2.0
 | 
			
		||||
    - deps: ms@0.7.1
 | 
			
		||||
  * deps: depd@~1.0.1
 | 
			
		||||
  * deps: etag@~1.6.0
 | 
			
		||||
    - Improve support for JXcore
 | 
			
		||||
    - Support "fake" stats objects in environments without `fs`
 | 
			
		||||
  * deps: finalhandler@0.3.6
 | 
			
		||||
    - deps: debug@~2.2.0
 | 
			
		||||
    - deps: on-finished@~2.2.1
 | 
			
		||||
  * deps: on-finished@~2.2.1
 | 
			
		||||
    - Fix `isFinished(req)` when data buffered
 | 
			
		||||
  * deps: proxy-addr@~1.0.8
 | 
			
		||||
    - deps: ipaddr.js@1.0.1
 | 
			
		||||
  * deps: qs@2.4.2
 | 
			
		||||
   - Fix allowing parameters like `constructor`
 | 
			
		||||
  * deps: send@0.12.3
 | 
			
		||||
    - deps: debug@~2.2.0
 | 
			
		||||
    - deps: depd@~1.0.1
 | 
			
		||||
    - deps: etag@~1.6.0
 | 
			
		||||
    - deps: ms@0.7.1
 | 
			
		||||
    - deps: on-finished@~2.2.1
 | 
			
		||||
  * deps: serve-static@~1.9.3
 | 
			
		||||
    - deps: send@0.12.3
 | 
			
		||||
  * deps: type-is@~1.6.2
 | 
			
		||||
    - deps: mime-types@~2.0.11
 | 
			
		||||
 | 
			
		||||
4.12.3 / 2015-03-17
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * deps: accepts@~1.2.5
 | 
			
		||||
    - deps: mime-types@~2.0.10
 | 
			
		||||
  * deps: debug@~2.1.3
 | 
			
		||||
    - Fix high intensity foreground color for bold
 | 
			
		||||
    - deps: ms@0.7.0
 | 
			
		||||
  * deps: finalhandler@0.3.4
 | 
			
		||||
    - deps: debug@~2.1.3
 | 
			
		||||
  * deps: proxy-addr@~1.0.7
 | 
			
		||||
    - deps: ipaddr.js@0.1.9
 | 
			
		||||
  * deps: qs@2.4.1
 | 
			
		||||
    - Fix error when parameter `hasOwnProperty` is present
 | 
			
		||||
  * deps: send@0.12.2
 | 
			
		||||
    - Throw errors early for invalid `extensions` or `index` options
 | 
			
		||||
    - deps: debug@~2.1.3
 | 
			
		||||
  * deps: serve-static@~1.9.2
 | 
			
		||||
    - deps: send@0.12.2
 | 
			
		||||
  * deps: type-is@~1.6.1
 | 
			
		||||
    - deps: mime-types@~2.0.10
 | 
			
		||||
 | 
			
		||||
4.12.2 / 2015-03-02
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Fix regression where `"Request aborted"` is logged using `res.sendFile`
 | 
			
		||||
 | 
			
		||||
4.12.1 / 2015-03-01
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Fix constructing application with non-configurable prototype properties
 | 
			
		||||
  * Fix `ECONNRESET` errors from `res.sendFile` usage
 | 
			
		||||
  * Fix `req.host` when using "trust proxy" hops count
 | 
			
		||||
  * Fix `req.protocol`/`req.secure` when using "trust proxy" hops count
 | 
			
		||||
  * Fix wrong `code` on aborted connections from `res.sendFile`
 | 
			
		||||
  * deps: merge-descriptors@1.0.0
 | 
			
		||||
 | 
			
		||||
4.12.0 / 2015-02-23
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Fix `"trust proxy"` setting to inherit when app is mounted
 | 
			
		||||
  * Generate `ETag`s for all request responses
 | 
			
		||||
    - No longer restricted to only responses for `GET` and `HEAD` requests
 | 
			
		||||
  * Use `content-type` to parse `Content-Type` headers
 | 
			
		||||
  * deps: accepts@~1.2.4
 | 
			
		||||
    - Fix preference sorting to be stable for long acceptable lists
 | 
			
		||||
    - deps: mime-types@~2.0.9
 | 
			
		||||
    - deps: negotiator@0.5.1
 | 
			
		||||
  * deps: cookie-signature@1.0.6
 | 
			
		||||
  * deps: send@0.12.1
 | 
			
		||||
    - Always read the stat size from the file
 | 
			
		||||
    - Fix mutating passed-in `options`
 | 
			
		||||
    - deps: mime@1.3.4
 | 
			
		||||
  * deps: serve-static@~1.9.1
 | 
			
		||||
    - deps: send@0.12.1
 | 
			
		||||
  * deps: type-is@~1.6.0
 | 
			
		||||
    - fix argument reassignment
 | 
			
		||||
    - fix false-positives in `hasBody` `Transfer-Encoding` check
 | 
			
		||||
    - support wildcard for both type and subtype (`*/*`)
 | 
			
		||||
    - deps: mime-types@~2.0.9
 | 
			
		||||
 | 
			
		||||
4.11.2 / 2015-02-01
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Fix `res.redirect` double-calling `res.end` for `HEAD` requests
 | 
			
		||||
  * deps: accepts@~1.2.3
 | 
			
		||||
    - deps: mime-types@~2.0.8
 | 
			
		||||
  * deps: proxy-addr@~1.0.6
 | 
			
		||||
    - deps: ipaddr.js@0.1.8
 | 
			
		||||
  * deps: type-is@~1.5.6
 | 
			
		||||
    - deps: mime-types@~2.0.8
 | 
			
		||||
 | 
			
		||||
4.11.1 / 2015-01-20
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * deps: send@0.11.1
 | 
			
		||||
    - Fix root path disclosure
 | 
			
		||||
  * deps: serve-static@~1.8.1
 | 
			
		||||
    - Fix redirect loop in Node.js 0.11.14
 | 
			
		||||
    - Fix root path disclosure
 | 
			
		||||
    - deps: send@0.11.1
 | 
			
		||||
 | 
			
		||||
4.11.0 / 2015-01-13
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Add `res.append(field, val)` to append headers
 | 
			
		||||
  * Deprecate leading `:` in `name` for `app.param(name, fn)`
 | 
			
		||||
  * Deprecate `req.param()` -- use `req.params`, `req.body`, or `req.query` instead
 | 
			
		||||
  * Deprecate `app.param(fn)`
 | 
			
		||||
  * Fix `OPTIONS` responses to include the `HEAD` method properly
 | 
			
		||||
  * Fix `res.sendFile` not always detecting aborted connection
 | 
			
		||||
  * Match routes iteratively to prevent stack overflows
 | 
			
		||||
  * deps: accepts@~1.2.2
 | 
			
		||||
    - deps: mime-types@~2.0.7
 | 
			
		||||
    - deps: negotiator@0.5.0
 | 
			
		||||
  * deps: send@0.11.0
 | 
			
		||||
    - deps: debug@~2.1.1
 | 
			
		||||
    - deps: etag@~1.5.1
 | 
			
		||||
    - deps: ms@0.7.0
 | 
			
		||||
    - deps: on-finished@~2.2.0
 | 
			
		||||
  * deps: serve-static@~1.8.0
 | 
			
		||||
    - deps: send@0.11.0
 | 
			
		||||
 | 
			
		||||
4.10.8 / 2015-01-13
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Fix crash from error within `OPTIONS` response handler
 | 
			
		||||
  * deps: proxy-addr@~1.0.5
 | 
			
		||||
    - deps: ipaddr.js@0.1.6
 | 
			
		||||
 | 
			
		||||
4.10.7 / 2015-01-04
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Fix `Allow` header for `OPTIONS` to not contain duplicate methods
 | 
			
		||||
  * Fix incorrect "Request aborted" for `res.sendFile` when `HEAD` or 304
 | 
			
		||||
  * deps: debug@~2.1.1
 | 
			
		||||
  * deps: finalhandler@0.3.3
 | 
			
		||||
    - deps: debug@~2.1.1
 | 
			
		||||
    - deps: on-finished@~2.2.0
 | 
			
		||||
  * deps: methods@~1.1.1
 | 
			
		||||
  * deps: on-finished@~2.2.0
 | 
			
		||||
  * deps: serve-static@~1.7.2
 | 
			
		||||
    - Fix potential open redirect when mounted at root
 | 
			
		||||
  * deps: type-is@~1.5.5
 | 
			
		||||
    - deps: mime-types@~2.0.7
 | 
			
		||||
 | 
			
		||||
4.10.6 / 2014-12-12
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Fix exception in `req.fresh`/`req.stale` without response headers
 | 
			
		||||
 | 
			
		||||
4.10.5 / 2014-12-10
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Fix `res.send` double-calling `res.end` for `HEAD` requests
 | 
			
		||||
  * deps: accepts@~1.1.4
 | 
			
		||||
    - deps: mime-types@~2.0.4
 | 
			
		||||
  * deps: type-is@~1.5.4
 | 
			
		||||
    - deps: mime-types@~2.0.4
 | 
			
		||||
 | 
			
		||||
4.10.4 / 2014-11-24
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Fix `res.sendfile` logging standard write errors
 | 
			
		||||
 | 
			
		||||
4.10.3 / 2014-11-23
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Fix `res.sendFile` logging standard write errors
 | 
			
		||||
  * deps: etag@~1.5.1
 | 
			
		||||
  * deps: proxy-addr@~1.0.4
 | 
			
		||||
    - deps: ipaddr.js@0.1.5
 | 
			
		||||
  * deps: qs@2.3.3
 | 
			
		||||
    - Fix `arrayLimit` behavior
 | 
			
		||||
 | 
			
		||||
4.10.2 / 2014-11-09
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
@@ -584,6 +771,182 @@
 | 
			
		||||
   - `app.route()` - Proxy to the app's `Router#route()` method to create a new route
 | 
			
		||||
   - Router & Route - public API
 | 
			
		||||
 | 
			
		||||
3.20.3 / 2015-05-17
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * deps: connect@2.29.2
 | 
			
		||||
    - deps: body-parser@~1.12.4
 | 
			
		||||
    - deps: compression@~1.4.4
 | 
			
		||||
    - deps: connect-timeout@~1.6.2
 | 
			
		||||
    - deps: debug@~2.2.0
 | 
			
		||||
    - deps: depd@~1.0.1
 | 
			
		||||
    - deps: errorhandler@~1.3.6
 | 
			
		||||
    - deps: finalhandler@0.3.6
 | 
			
		||||
    - deps: method-override@~2.3.3
 | 
			
		||||
    - deps: morgan@~1.5.3
 | 
			
		||||
    - deps: qs@2.4.2
 | 
			
		||||
    - deps: response-time@~2.3.1
 | 
			
		||||
    - deps: serve-favicon@~2.2.1
 | 
			
		||||
    - deps: serve-index@~1.6.4
 | 
			
		||||
    - deps: serve-static@~1.9.3
 | 
			
		||||
    - deps: type-is@~1.6.2
 | 
			
		||||
  * deps: debug@~2.2.0
 | 
			
		||||
    - deps: ms@0.7.1
 | 
			
		||||
  * deps: depd@~1.0.1
 | 
			
		||||
  * deps: proxy-addr@~1.0.8
 | 
			
		||||
    - deps: ipaddr.js@1.0.1
 | 
			
		||||
  * deps: send@0.12.3
 | 
			
		||||
    - deps: debug@~2.2.0
 | 
			
		||||
    - deps: depd@~1.0.1
 | 
			
		||||
    - deps: etag@~1.6.0
 | 
			
		||||
    - deps: ms@0.7.1
 | 
			
		||||
    - deps: on-finished@~2.2.1
 | 
			
		||||
 | 
			
		||||
3.20.2 / 2015-03-16
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * deps: connect@2.29.1
 | 
			
		||||
    - deps: body-parser@~1.12.2
 | 
			
		||||
    - deps: compression@~1.4.3
 | 
			
		||||
    - deps: connect-timeout@~1.6.1
 | 
			
		||||
    - deps: debug@~2.1.3
 | 
			
		||||
    - deps: errorhandler@~1.3.5
 | 
			
		||||
    - deps: express-session@~1.10.4
 | 
			
		||||
    - deps: finalhandler@0.3.4
 | 
			
		||||
    - deps: method-override@~2.3.2
 | 
			
		||||
    - deps: morgan@~1.5.2
 | 
			
		||||
    - deps: qs@2.4.1
 | 
			
		||||
    - deps: serve-index@~1.6.3
 | 
			
		||||
    - deps: serve-static@~1.9.2
 | 
			
		||||
    - deps: type-is@~1.6.1
 | 
			
		||||
  * deps: debug@~2.1.3
 | 
			
		||||
    - Fix high intensity foreground color for bold
 | 
			
		||||
    - deps: ms@0.7.0
 | 
			
		||||
  * deps: merge-descriptors@1.0.0
 | 
			
		||||
  * deps: proxy-addr@~1.0.7
 | 
			
		||||
    - deps: ipaddr.js@0.1.9
 | 
			
		||||
  * deps: send@0.12.2
 | 
			
		||||
    - Throw errors early for invalid `extensions` or `index` options
 | 
			
		||||
    - deps: debug@~2.1.3
 | 
			
		||||
 | 
			
		||||
3.20.1 / 2015-02-28
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Fix `req.host` when using "trust proxy" hops count
 | 
			
		||||
  * Fix `req.protocol`/`req.secure` when using "trust proxy" hops count
 | 
			
		||||
 | 
			
		||||
3.20.0 / 2015-02-18
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Fix `"trust proxy"` setting to inherit when app is mounted
 | 
			
		||||
  * Generate `ETag`s for all request responses
 | 
			
		||||
    - No longer restricted to only responses for `GET` and `HEAD` requests
 | 
			
		||||
  * Use `content-type` to parse `Content-Type` headers
 | 
			
		||||
  * deps: connect@2.29.0
 | 
			
		||||
    - Use `content-type` to parse `Content-Type` headers
 | 
			
		||||
    - deps: body-parser@~1.12.0
 | 
			
		||||
    - deps: compression@~1.4.1
 | 
			
		||||
    - deps: connect-timeout@~1.6.0
 | 
			
		||||
    - deps: cookie-parser@~1.3.4
 | 
			
		||||
    - deps: cookie-signature@1.0.6
 | 
			
		||||
    - deps: csurf@~1.7.0
 | 
			
		||||
    - deps: errorhandler@~1.3.4
 | 
			
		||||
    - deps: express-session@~1.10.3
 | 
			
		||||
    - deps: http-errors@~1.3.1
 | 
			
		||||
    - deps: response-time@~2.3.0
 | 
			
		||||
    - deps: serve-index@~1.6.2
 | 
			
		||||
    - deps: serve-static@~1.9.1
 | 
			
		||||
    - deps: type-is@~1.6.0
 | 
			
		||||
  * deps: cookie-signature@1.0.6
 | 
			
		||||
  * deps: send@0.12.1
 | 
			
		||||
    - Always read the stat size from the file
 | 
			
		||||
    - Fix mutating passed-in `options`
 | 
			
		||||
    - deps: mime@1.3.4
 | 
			
		||||
 | 
			
		||||
3.19.2 / 2015-02-01
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * deps: connect@2.28.3
 | 
			
		||||
    - deps: compression@~1.3.1
 | 
			
		||||
    - deps: csurf@~1.6.6
 | 
			
		||||
    - deps: errorhandler@~1.3.3
 | 
			
		||||
    - deps: express-session@~1.10.2
 | 
			
		||||
    - deps: serve-index@~1.6.1
 | 
			
		||||
    - deps: type-is@~1.5.6
 | 
			
		||||
  * deps: proxy-addr@~1.0.6
 | 
			
		||||
    - deps: ipaddr.js@0.1.8
 | 
			
		||||
 | 
			
		||||
3.19.1 / 2015-01-20
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * deps: connect@2.28.2
 | 
			
		||||
    - deps: body-parser@~1.10.2
 | 
			
		||||
    - deps: serve-static@~1.8.1
 | 
			
		||||
  * deps: send@0.11.1
 | 
			
		||||
    - Fix root path disclosure
 | 
			
		||||
 | 
			
		||||
3.19.0 / 2015-01-09
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Fix `OPTIONS` responses to include the `HEAD` method property
 | 
			
		||||
  * Use `readline` for prompt in `express(1)`
 | 
			
		||||
  * deps: commander@2.6.0
 | 
			
		||||
  * deps: connect@2.28.1
 | 
			
		||||
    - deps: body-parser@~1.10.1
 | 
			
		||||
    - deps: compression@~1.3.0
 | 
			
		||||
    - deps: connect-timeout@~1.5.0
 | 
			
		||||
    - deps: csurf@~1.6.4
 | 
			
		||||
    - deps: debug@~2.1.1
 | 
			
		||||
    - deps: errorhandler@~1.3.2
 | 
			
		||||
    - deps: express-session@~1.10.1
 | 
			
		||||
    - deps: finalhandler@0.3.3
 | 
			
		||||
    - deps: method-override@~2.3.1
 | 
			
		||||
    - deps: morgan@~1.5.1
 | 
			
		||||
    - deps: serve-favicon@~2.2.0
 | 
			
		||||
    - deps: serve-index@~1.6.0
 | 
			
		||||
    - deps: serve-static@~1.8.0
 | 
			
		||||
    - deps: type-is@~1.5.5
 | 
			
		||||
  * deps: debug@~2.1.1
 | 
			
		||||
  * deps: methods@~1.1.1
 | 
			
		||||
  * deps: proxy-addr@~1.0.5
 | 
			
		||||
    - deps: ipaddr.js@0.1.6
 | 
			
		||||
  * deps: send@0.11.0
 | 
			
		||||
    - deps: debug@~2.1.1
 | 
			
		||||
    - deps: etag@~1.5.1
 | 
			
		||||
    - deps: ms@0.7.0
 | 
			
		||||
    - deps: on-finished@~2.2.0
 | 
			
		||||
 | 
			
		||||
3.18.6 / 2014-12-12
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Fix exception in `req.fresh`/`req.stale` without response headers
 | 
			
		||||
 | 
			
		||||
3.18.5 / 2014-12-11
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * deps: connect@2.27.6
 | 
			
		||||
    - deps: compression@~1.2.2
 | 
			
		||||
    - deps: express-session@~1.9.3
 | 
			
		||||
    - deps: http-errors@~1.2.8
 | 
			
		||||
    - deps: serve-index@~1.5.3
 | 
			
		||||
    - deps: type-is@~1.5.4
 | 
			
		||||
 | 
			
		||||
3.18.4 / 2014-11-23
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * deps: connect@2.27.4
 | 
			
		||||
    - deps: body-parser@~1.9.3
 | 
			
		||||
    - deps: compression@~1.2.1
 | 
			
		||||
    - deps: errorhandler@~1.2.3
 | 
			
		||||
    - deps: express-session@~1.9.2
 | 
			
		||||
    - deps: qs@2.3.3
 | 
			
		||||
    - deps: serve-favicon@~2.1.7
 | 
			
		||||
    - deps: serve-static@~1.5.1
 | 
			
		||||
    - deps: type-is@~1.5.3
 | 
			
		||||
  * deps: etag@~1.5.1
 | 
			
		||||
  * deps: proxy-addr@~1.0.4
 | 
			
		||||
    - deps: ipaddr.js@0.1.5
 | 
			
		||||
 | 
			
		||||
3.18.3 / 2014-11-09
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								server/node_modules/express/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										2
									
								
								server/node_modules/express/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,6 +1,8 @@
 | 
			
		||||
(The MIT License)
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2009-2014 TJ Holowaychuk <tj@vision-media.ca>
 | 
			
		||||
Copyright (c) 2013-2014 Roman Shtylman <shtylman+expressjs@gmail.com>
 | 
			
		||||
Copyright (c) 2014-2015 Douglas Christopher Wilson <doug@somethingdoug.com>
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining
 | 
			
		||||
a copy of this software and associated documentation files (the
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										27
									
								
								server/node_modules/express/Readme.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										27
									
								
								server/node_modules/express/Readme.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -4,7 +4,8 @@
 | 
			
		||||
 | 
			
		||||
  [![NPM Version][npm-image]][npm-url]
 | 
			
		||||
  [![NPM Downloads][downloads-image]][downloads-url]
 | 
			
		||||
  [![Build Status][travis-image]][travis-url]
 | 
			
		||||
  [![Linux Build][travis-image]][travis-url]
 | 
			
		||||
  [![Windows Build][appveyor-image]][appveyor-url]
 | 
			
		||||
  [![Test Coverage][coveralls-image]][coveralls-url]
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
@@ -18,7 +19,7 @@ app.get('/', function (req, res) {
 | 
			
		||||
app.listen(3000)
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Installation
 | 
			
		||||
## Installation
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
$ npm install express
 | 
			
		||||
@@ -86,7 +87,7 @@ $ npm start
 | 
			
		||||
 | 
			
		||||
## Examples
 | 
			
		||||
 | 
			
		||||
  To view the examples, clone the Express repo & install the dependancies:
 | 
			
		||||
  To view the examples, clone the Express repo and install the dependencies:
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
$ git clone git://github.com/strongloop/express.git --depth 1
 | 
			
		||||
@@ -102,14 +103,14 @@ $ node examples/content-negotiation
 | 
			
		||||
 | 
			
		||||
## Tests
 | 
			
		||||
 | 
			
		||||
  To run the test suite, first install the dependancies, then run `npm test`:
 | 
			
		||||
  To run the test suite, first install the dependencies, then run `npm test`:
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
$ npm install
 | 
			
		||||
$ npm test
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### People
 | 
			
		||||
## People
 | 
			
		||||
 | 
			
		||||
The original author of Express is [TJ Holowaychuk](https://github.com/tj) [![TJ's Gratipay][gratipay-image-visionmedia]][gratipay-url-visionmedia]
 | 
			
		||||
 | 
			
		||||
@@ -117,19 +118,21 @@ The current lead maintainer is [Douglas Christopher Wilson](https://github.com/d
 | 
			
		||||
 | 
			
		||||
[List of all contributors](https://github.com/strongloop/express/graphs/contributors)
 | 
			
		||||
 | 
			
		||||
### License
 | 
			
		||||
## License
 | 
			
		||||
 | 
			
		||||
  [MIT](LICENSE)
 | 
			
		||||
 | 
			
		||||
[npm-image]: https://img.shields.io/npm/v/express.svg?style=flat
 | 
			
		||||
[npm-image]: https://img.shields.io/npm/v/express.svg
 | 
			
		||||
[npm-url]: https://npmjs.org/package/express
 | 
			
		||||
[downloads-image]: https://img.shields.io/npm/dm/express.svg?style=flat
 | 
			
		||||
[downloads-image]: https://img.shields.io/npm/dm/express.svg
 | 
			
		||||
[downloads-url]: https://npmjs.org/package/express
 | 
			
		||||
[travis-image]: https://img.shields.io/travis/strongloop/express.svg?style=flat
 | 
			
		||||
[travis-image]: https://img.shields.io/travis/strongloop/express/master.svg?label=linux
 | 
			
		||||
[travis-url]: https://travis-ci.org/strongloop/express
 | 
			
		||||
[coveralls-image]: https://img.shields.io/coveralls/strongloop/express.svg?style=flat
 | 
			
		||||
[appveyor-image]: https://img.shields.io/appveyor/ci/dougwilson/express/master.svg?label=windows
 | 
			
		||||
[appveyor-url]: https://ci.appveyor.com/project/dougwilson/express
 | 
			
		||||
[coveralls-image]: https://img.shields.io/coveralls/strongloop/express/master.svg
 | 
			
		||||
[coveralls-url]: https://coveralls.io/r/strongloop/express?branch=master
 | 
			
		||||
[gratipay-image-visionmedia]: https://img.shields.io/gratipay/visionmedia.svg?style=flat
 | 
			
		||||
[gratipay-image-visionmedia]: https://img.shields.io/gratipay/visionmedia.svg
 | 
			
		||||
[gratipay-url-visionmedia]: https://gratipay.com/visionmedia/
 | 
			
		||||
[gratipay-image-dougwilson]: https://img.shields.io/gratipay/dougwilson.svg?style=flat
 | 
			
		||||
[gratipay-image-dougwilson]: https://img.shields.io/gratipay/dougwilson.svg
 | 
			
		||||
[gratipay-url-dougwilson]: https://gratipay.com/dougwilson/
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										0
									
								
								server/node_modules/express/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										42
									
								
								server/node_modules/express/lib/application.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										42
									
								
								server/node_modules/express/lib/application.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,5 +1,14 @@
 | 
			
		||||
/*!
 | 
			
		||||
 * express
 | 
			
		||||
 * Copyright(c) 2009-2013 TJ Holowaychuk
 | 
			
		||||
 * Copyright(c) 2013 Roman Shtylman
 | 
			
		||||
 * Copyright(c) 2014-2015 Douglas Christopher Wilson
 | 
			
		||||
 * MIT Licensed
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Module dependencies.
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var finalhandler = require('finalhandler');
 | 
			
		||||
@@ -25,6 +34,13 @@ var slice = Array.prototype.slice;
 | 
			
		||||
 | 
			
		||||
var app = exports = module.exports = {};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Variable for trust proxy inheritance back-compat
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var trustProxyDefaultSymbol = '@@symbol:trust_proxy_default';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Initialize the server.
 | 
			
		||||
 *
 | 
			
		||||
@@ -58,10 +74,23 @@ app.defaultConfiguration = function(){
 | 
			
		||||
  this.set('subdomain offset', 2);
 | 
			
		||||
  this.set('trust proxy', false);
 | 
			
		||||
 | 
			
		||||
  // trust proxy inherit back-compat
 | 
			
		||||
  Object.defineProperty(this.settings, trustProxyDefaultSymbol, {
 | 
			
		||||
    configurable: true,
 | 
			
		||||
    value: true
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  debug('booting in %s mode', env);
 | 
			
		||||
 | 
			
		||||
  // inherit protos
 | 
			
		||||
  this.on('mount', function(parent){
 | 
			
		||||
  this.on('mount', function onmount(parent) {
 | 
			
		||||
    // inherit trust proxy
 | 
			
		||||
    if (this.settings[trustProxyDefaultSymbol] === true
 | 
			
		||||
      && typeof parent.settings['trust proxy fn'] === 'function') {
 | 
			
		||||
      delete this.settings['trust proxy'];
 | 
			
		||||
      delete this.settings['trust proxy fn'];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // inherit protos
 | 
			
		||||
    this.request.__proto__ = parent.request;
 | 
			
		||||
    this.response.__proto__ = parent.response;
 | 
			
		||||
    this.engines.__proto__ = parent.engines;
 | 
			
		||||
@@ -327,6 +356,13 @@ app.set = function(setting, val){
 | 
			
		||||
    case 'trust proxy':
 | 
			
		||||
      debug('compile trust proxy %s', val);
 | 
			
		||||
      this.set('trust proxy fn', compileTrust(val));
 | 
			
		||||
 | 
			
		||||
      // trust proxy inherit back-compat
 | 
			
		||||
      Object.defineProperty(this.settings, trustProxyDefaultSymbol, {
 | 
			
		||||
        configurable: true,
 | 
			
		||||
        value: false
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      break;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -563,7 +599,7 @@ app.listen = function(){
 | 
			
		||||
* Log error using console.error.
 | 
			
		||||
*
 | 
			
		||||
* @param {Error} err
 | 
			
		||||
* @api public
 | 
			
		||||
* @api private
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
function logerror(err){
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								server/node_modules/express/lib/express.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										4
									
								
								server/node_modules/express/lib/express.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -28,8 +28,8 @@ function createApplication() {
 | 
			
		||||
    app.handle(req, res, next);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  mixin(app, proto);
 | 
			
		||||
  mixin(app, EventEmitter.prototype);
 | 
			
		||||
  mixin(app, EventEmitter.prototype, false);
 | 
			
		||||
  mixin(app, proto, false);
 | 
			
		||||
 | 
			
		||||
  app.request = { __proto__: req, app: app };
 | 
			
		||||
  app.response = { __proto__: res, app: app };
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								server/node_modules/express/lib/middleware/init.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										2
									
								
								server/node_modules/express/lib/middleware/init.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Initialization middleware, exposing the
 | 
			
		||||
 * request and response to eachother, as well
 | 
			
		||||
 * request and response to each other, as well
 | 
			
		||||
 * as defaulting the X-Powered-By header field.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {Function} app
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										0
									
								
								server/node_modules/express/lib/middleware/query.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/lib/middleware/query.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										23
									
								
								server/node_modules/express/lib/request.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										23
									
								
								server/node_modules/express/lib/request.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -63,12 +63,12 @@ req.header = function(name){
 | 
			
		||||
 * the best match when true, otherwise `undefined`, in which
 | 
			
		||||
 * case you should respond with 406 "Not Acceptable".
 | 
			
		||||
 *
 | 
			
		||||
 * The `type` value may be a single mime type string
 | 
			
		||||
 * such as "application/json", the extension name
 | 
			
		||||
 * such as "json", a comma-delimted list such as "json, html, text/plain",
 | 
			
		||||
 * The `type` value may be a single MIME type string
 | 
			
		||||
 * such as "application/json", an extension name
 | 
			
		||||
 * such as "json", a comma-delimited list such as "json, html, text/plain",
 | 
			
		||||
 * an argument list such as `"json", "html", "text/plain"`,
 | 
			
		||||
 * or an array `["json", "html", "text/plain"]`. When a list
 | 
			
		||||
 * or array is given the _best_ match, if any is returned.
 | 
			
		||||
 * or array is given, the _best_ match, if any is returned.
 | 
			
		||||
 *
 | 
			
		||||
 * Examples:
 | 
			
		||||
 *
 | 
			
		||||
@@ -200,13 +200,20 @@ req.range = function(size){
 | 
			
		||||
 * @api public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
req.param = function(name, defaultValue){
 | 
			
		||||
req.param = function param(name, defaultValue) {
 | 
			
		||||
  var params = this.params || {};
 | 
			
		||||
  var body = this.body || {};
 | 
			
		||||
  var query = this.query || {};
 | 
			
		||||
 | 
			
		||||
  var args = arguments.length === 1
 | 
			
		||||
    ? 'name'
 | 
			
		||||
    : 'name, default';
 | 
			
		||||
  deprecate('req.param(' + args + '): Use req.params, req.body, or req.query instead');
 | 
			
		||||
 | 
			
		||||
  if (null != params[name] && params.hasOwnProperty(name)) return params[name];
 | 
			
		||||
  if (null != body[name]) return body[name];
 | 
			
		||||
  if (null != query[name]) return query[name];
 | 
			
		||||
 | 
			
		||||
  return defaultValue;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@@ -261,7 +268,7 @@ defineGetter(req, 'protocol', function protocol(){
 | 
			
		||||
    : 'http';
 | 
			
		||||
  var trust = this.app.get('trust proxy fn');
 | 
			
		||||
 | 
			
		||||
  if (!trust(this.connection.remoteAddress)) {
 | 
			
		||||
  if (!trust(this.connection.remoteAddress, 0)) {
 | 
			
		||||
    return proto;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -371,7 +378,7 @@ defineGetter(req, 'hostname', function hostname(){
 | 
			
		||||
  var trust = this.app.get('trust proxy fn');
 | 
			
		||||
  var host = this.get('X-Forwarded-Host');
 | 
			
		||||
 | 
			
		||||
  if (!host || !trust(this.connection.remoteAddress)) {
 | 
			
		||||
  if (!host || !trust(this.connection.remoteAddress, 0)) {
 | 
			
		||||
    host = this.get('Host');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -412,7 +419,7 @@ defineGetter(req, 'fresh', function(){
 | 
			
		||||
 | 
			
		||||
  // 2xx or 304 as per rfc2616 14.26
 | 
			
		||||
  if ((s >= 200 && s < 300) || 304 == s) {
 | 
			
		||||
    return fresh(this.headers, this.res._headers);
 | 
			
		||||
    return fresh(this.headers, (this.res._headers || {}));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return false;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										111
									
								
								server/node_modules/express/lib/response.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										111
									
								
								server/node_modules/express/lib/response.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,5 +1,13 @@
 | 
			
		||||
/*!
 | 
			
		||||
 * express
 | 
			
		||||
 * Copyright(c) 2009-2013 TJ Holowaychuk
 | 
			
		||||
 * Copyright(c) 2014-2015 Douglas Christopher Wilson
 | 
			
		||||
 * MIT Licensed
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Module dependencies.
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var contentDisposition = require('content-disposition');
 | 
			
		||||
@@ -159,15 +167,12 @@ res.send = function send(body) {
 | 
			
		||||
    this.set('Content-Length', len);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // method check
 | 
			
		||||
  var isHead = req.method === 'HEAD';
 | 
			
		||||
 | 
			
		||||
  // ETag support
 | 
			
		||||
  if (len !== undefined && (isHead || req.method === 'GET')) {
 | 
			
		||||
    var etag = app.get('etag fn');
 | 
			
		||||
    if (etag && !this.get('ETag')) {
 | 
			
		||||
      etag = etag(chunk, encoding);
 | 
			
		||||
      etag && this.set('ETag', etag);
 | 
			
		||||
  // populate ETag
 | 
			
		||||
  var etag;
 | 
			
		||||
  var generateETag = len !== undefined && app.get('etag fn');
 | 
			
		||||
  if (typeof generateETag === 'function' && !this.get('ETag')) {
 | 
			
		||||
    if ((etag = generateETag(chunk, encoding))) {
 | 
			
		||||
      this.set('ETag', etag);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -182,14 +187,14 @@ res.send = function send(body) {
 | 
			
		||||
    chunk = '';
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // skip body for HEAD
 | 
			
		||||
  if (isHead) {
 | 
			
		||||
  if (req.method === 'HEAD') {
 | 
			
		||||
    // skip body for HEAD
 | 
			
		||||
    this.end();
 | 
			
		||||
  } else {
 | 
			
		||||
    // respond
 | 
			
		||||
    this.end(chunk, encoding);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // respond
 | 
			
		||||
  this.end(chunk, encoding);
 | 
			
		||||
 | 
			
		||||
  return this;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@@ -398,8 +403,8 @@ res.sendFile = function sendFile(path, options, fn) {
 | 
			
		||||
    if (fn) return fn(err);
 | 
			
		||||
    if (err && err.code === 'EISDIR') return next();
 | 
			
		||||
 | 
			
		||||
    // next() all but aborted errors
 | 
			
		||||
    if (err && err.code !== 'ECONNABORT') {
 | 
			
		||||
    // next() all but write errors
 | 
			
		||||
    if (err && err.code !== 'ECONNABORTED' && err.syscall !== 'write') {
 | 
			
		||||
      next(err);
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
@@ -467,8 +472,8 @@ res.sendfile = function(path, options, fn){
 | 
			
		||||
    if (fn) return fn(err);
 | 
			
		||||
    if (err && err.code === 'EISDIR') return next();
 | 
			
		||||
 | 
			
		||||
    // next() all but aborted errors
 | 
			
		||||
    if (err && err.code !== 'ECONNABORT') {
 | 
			
		||||
    // next() all but write errors
 | 
			
		||||
    if (err && err.code !== 'ECONNABORT' && err.syscall !== 'write') {
 | 
			
		||||
      next(err);
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
@@ -636,6 +641,35 @@ res.attachment = function attachment(filename) {
 | 
			
		||||
  return this;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Append additional header `field` with value `val`.
 | 
			
		||||
 *
 | 
			
		||||
 * Example:
 | 
			
		||||
 *
 | 
			
		||||
 *    res.append('Link', ['<http://localhost/>', '<http://localhost:3000/>']);
 | 
			
		||||
 *    res.append('Set-Cookie', 'foo=bar; Path=/; HttpOnly');
 | 
			
		||||
 *    res.append('Warning', '199 Miscellaneous warning');
 | 
			
		||||
 *
 | 
			
		||||
 * @param {String} field
 | 
			
		||||
 * @param {String|Array} val
 | 
			
		||||
 * @return {ServerResponse} for chaining
 | 
			
		||||
 * @api public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
res.append = function append(field, val) {
 | 
			
		||||
  var prev = this.get(field);
 | 
			
		||||
  var value = val;
 | 
			
		||||
 | 
			
		||||
  if (prev) {
 | 
			
		||||
    // concat the new and prev vals
 | 
			
		||||
    value = Array.isArray(prev) ? prev.concat(val)
 | 
			
		||||
      : Array.isArray(val) ? [prev].concat(val)
 | 
			
		||||
      : [prev, val];
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return this.set(field, value);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Set header `field` to `val`, or pass
 | 
			
		||||
 * an object of header fields.
 | 
			
		||||
@@ -841,9 +875,9 @@ res.redirect = function redirect(url) {
 | 
			
		||||
 | 
			
		||||
  if (this.req.method === 'HEAD') {
 | 
			
		||||
    this.end();
 | 
			
		||||
  } else {
 | 
			
		||||
    this.end(body);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  this.end(body);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -907,6 +941,17 @@ res.render = function(view, options, fn){
 | 
			
		||||
// pipe the send file stream
 | 
			
		||||
function sendfile(res, file, options, callback) {
 | 
			
		||||
  var done = false;
 | 
			
		||||
  var streaming;
 | 
			
		||||
 | 
			
		||||
  // request aborted
 | 
			
		||||
  function onaborted() {
 | 
			
		||||
    if (done) return;
 | 
			
		||||
    done = true;
 | 
			
		||||
 | 
			
		||||
    var err = new Error('Request aborted');
 | 
			
		||||
    err.code = 'ECONNABORTED';
 | 
			
		||||
    callback(err);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // directory
 | 
			
		||||
  function ondirectory() {
 | 
			
		||||
@@ -932,25 +977,39 @@ function sendfile(res, file, options, callback) {
 | 
			
		||||
    callback();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // file
 | 
			
		||||
  function onfile() {
 | 
			
		||||
    streaming = false;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // finished
 | 
			
		||||
  function onfinish(err) {
 | 
			
		||||
    if (err && err.code === 'ECONNRESET') return onaborted();
 | 
			
		||||
    if (err) return onerror(err);
 | 
			
		||||
    if (done) return;
 | 
			
		||||
 | 
			
		||||
    setImmediate(function () {
 | 
			
		||||
      if (streaming !== false && !done) {
 | 
			
		||||
        onaborted();
 | 
			
		||||
        return;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (done) return;
 | 
			
		||||
      done = true;
 | 
			
		||||
 | 
			
		||||
      // response finished before end of file
 | 
			
		||||
      var err = new Error('Request aborted');
 | 
			
		||||
      err.code = 'ECONNABORT';
 | 
			
		||||
      callback(err);
 | 
			
		||||
      callback();
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // streaming
 | 
			
		||||
  function onstream() {
 | 
			
		||||
    streaming = true;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  file.on('directory', ondirectory);
 | 
			
		||||
  file.on('end', onend);
 | 
			
		||||
  file.on('error', onerror);
 | 
			
		||||
  file.on('directory', ondirectory);
 | 
			
		||||
  file.on('file', onfile);
 | 
			
		||||
  file.on('stream', onstream);
 | 
			
		||||
  onFinished(res, onfinish);
 | 
			
		||||
 | 
			
		||||
  if (options.headers) {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										204
									
								
								server/node_modules/express/lib/router/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										204
									
								
								server/node_modules/express/lib/router/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -8,6 +8,7 @@ var Layer = require('./layer');
 | 
			
		||||
var methods = require('methods');
 | 
			
		||||
var mixin = require('utils-merge');
 | 
			
		||||
var debug = require('debug')('express:router');
 | 
			
		||||
var deprecate = require('depd')('express');
 | 
			
		||||
var parseUrl = require('parseurl');
 | 
			
		||||
var utils = require('../utils');
 | 
			
		||||
 | 
			
		||||
@@ -81,9 +82,10 @@ var proto = module.exports = function(options) {
 | 
			
		||||
 * @api public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
proto.param = function(name, fn){
 | 
			
		||||
proto.param = function param(name, fn) {
 | 
			
		||||
  // param logic
 | 
			
		||||
  if ('function' == typeof name) {
 | 
			
		||||
  if (typeof name === 'function') {
 | 
			
		||||
    deprecate('router.param(fn): Refactor to use path params');
 | 
			
		||||
    this._params.push(name);
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
@@ -94,6 +96,7 @@ proto.param = function(name, fn){
 | 
			
		||||
  var ret;
 | 
			
		||||
 | 
			
		||||
  if (name[0] === ':') {
 | 
			
		||||
    deprecate('router.param(' + JSON.stringify(name) + ', fn): Use router.param(' + JSON.stringify(name.substr(1)) + ', fn) instead');
 | 
			
		||||
    name = name.substr(1);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -152,9 +155,7 @@ proto.handle = function(req, res, done) {
 | 
			
		||||
  if (req.method === 'OPTIONS') {
 | 
			
		||||
    done = wrap(done, function(old, err) {
 | 
			
		||||
      if (err || options.length === 0) return old(err);
 | 
			
		||||
 | 
			
		||||
      var body = options.join(',');
 | 
			
		||||
      return res.set('Allow', body).send(body);
 | 
			
		||||
      sendOptionsResponse(res, options, old);
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -169,74 +170,104 @@ proto.handle = function(req, res, done) {
 | 
			
		||||
      ? null
 | 
			
		||||
      : err;
 | 
			
		||||
 | 
			
		||||
    var layer = stack[idx++];
 | 
			
		||||
 | 
			
		||||
    // remove added slash
 | 
			
		||||
    if (slashAdded) {
 | 
			
		||||
      req.url = req.url.substr(1);
 | 
			
		||||
      slashAdded = false;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // restore altered req.url
 | 
			
		||||
    if (removed.length !== 0) {
 | 
			
		||||
      req.baseUrl = parentUrl;
 | 
			
		||||
      req.url = protohost + removed + req.url.substr(protohost.length);
 | 
			
		||||
      removed = '';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (!layer) {
 | 
			
		||||
    // no more matching layers
 | 
			
		||||
    if (idx >= stack.length) {
 | 
			
		||||
      setImmediate(done, layerError);
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    self.match_layer(layer, req, res, function (err, path) {
 | 
			
		||||
      if (err || path === undefined) {
 | 
			
		||||
    // get pathname of request
 | 
			
		||||
    var path = getPathname(req);
 | 
			
		||||
 | 
			
		||||
    if (path == null) {
 | 
			
		||||
      return done(layerError);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // find next matching layer
 | 
			
		||||
    var layer;
 | 
			
		||||
    var match;
 | 
			
		||||
    var route;
 | 
			
		||||
 | 
			
		||||
    while (match !== true && idx < stack.length) {
 | 
			
		||||
      layer = stack[idx++];
 | 
			
		||||
      match = matchLayer(layer, path);
 | 
			
		||||
      route = layer.route;
 | 
			
		||||
 | 
			
		||||
      if (typeof match !== 'boolean') {
 | 
			
		||||
        // hold on to layerError
 | 
			
		||||
        layerError = layerError || match;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (match !== true) {
 | 
			
		||||
        continue;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (!route) {
 | 
			
		||||
        // process non-route handlers normally
 | 
			
		||||
        continue;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (layerError) {
 | 
			
		||||
        // routes do not match with a pending error
 | 
			
		||||
        match = false;
 | 
			
		||||
        continue;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      var method = req.method;
 | 
			
		||||
      var has_method = route._handles_method(method);
 | 
			
		||||
 | 
			
		||||
      // build up automatic options response
 | 
			
		||||
      if (!has_method && method === 'OPTIONS') {
 | 
			
		||||
        appendMethods(options, route._options());
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // don't even bother matching route
 | 
			
		||||
      if (!has_method && method !== 'HEAD') {
 | 
			
		||||
        match = false;
 | 
			
		||||
        continue;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // no match
 | 
			
		||||
    if (match !== true) {
 | 
			
		||||
      return done(layerError);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // store route for dispatch on change
 | 
			
		||||
    if (route) {
 | 
			
		||||
      req.route = route;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Capture one-time layer values
 | 
			
		||||
    req.params = self.mergeParams
 | 
			
		||||
      ? mergeParams(layer.params, parentParams)
 | 
			
		||||
      : layer.params;
 | 
			
		||||
    var layerPath = layer.path;
 | 
			
		||||
 | 
			
		||||
    // this should be done for the layer
 | 
			
		||||
    self.process_params(layer, paramcalled, req, res, function (err) {
 | 
			
		||||
      if (err) {
 | 
			
		||||
        return next(layerError || err);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // route object and not middleware
 | 
			
		||||
      var route = layer.route;
 | 
			
		||||
 | 
			
		||||
      // if final route, then we support options
 | 
			
		||||
      if (route) {
 | 
			
		||||
        // we don't run any routes with error first
 | 
			
		||||
        if (layerError) {
 | 
			
		||||
          return next(layerError);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        var method = req.method;
 | 
			
		||||
        var has_method = route._handles_method(method);
 | 
			
		||||
 | 
			
		||||
        // build up automatic options response
 | 
			
		||||
        if (!has_method && method === 'OPTIONS') {
 | 
			
		||||
          options.push.apply(options, route._options());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // don't even bother
 | 
			
		||||
        if (!has_method && method !== 'HEAD') {
 | 
			
		||||
          return next();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // we can now dispatch to the route
 | 
			
		||||
        req.route = route;
 | 
			
		||||
        return layer.handle_request(req, res, next);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // Capture one-time layer values
 | 
			
		||||
      req.params = self.mergeParams
 | 
			
		||||
        ? mergeParams(layer.params, parentParams)
 | 
			
		||||
        : layer.params;
 | 
			
		||||
      var layerPath = layer.path;
 | 
			
		||||
 | 
			
		||||
      // this should be done for the layer
 | 
			
		||||
      self.process_params(layer, paramcalled, req, res, function (err) {
 | 
			
		||||
        if (err) {
 | 
			
		||||
          return next(layerError || err);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (route) {
 | 
			
		||||
          return layer.handle_request(req, res, next);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        trim_prefix(layer, layerError, layerPath, path);
 | 
			
		||||
      });
 | 
			
		||||
      trim_prefix(layer, layerError, layerPath, path);
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -273,29 +304,6 @@ proto.handle = function(req, res, done) {
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Match request to a layer.
 | 
			
		||||
 *
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
proto.match_layer = function match_layer(layer, req, res, done) {
 | 
			
		||||
  var error = null;
 | 
			
		||||
  var path;
 | 
			
		||||
 | 
			
		||||
  try {
 | 
			
		||||
    path = parseUrl(req).pathname;
 | 
			
		||||
 | 
			
		||||
    if (!layer.match(path)) {
 | 
			
		||||
      path = undefined;
 | 
			
		||||
    }
 | 
			
		||||
  } catch (err) {
 | 
			
		||||
    error = err;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  done(error, path);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Process any parameters for the layer.
 | 
			
		||||
 *
 | 
			
		||||
@@ -492,6 +500,25 @@ methods.concat('all').forEach(function(method){
 | 
			
		||||
  };
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
// append methods to a list of methods
 | 
			
		||||
function appendMethods(list, addition) {
 | 
			
		||||
  for (var i = 0; i < addition.length; i++) {
 | 
			
		||||
    var method = addition[i];
 | 
			
		||||
    if (list.indexOf(method) === -1) {
 | 
			
		||||
      list.push(method);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// get pathname of request
 | 
			
		||||
function getPathname(req) {
 | 
			
		||||
  try {
 | 
			
		||||
    return parseUrl(req).pathname;
 | 
			
		||||
  } catch (err) {
 | 
			
		||||
    return undefined;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// get type for error message
 | 
			
		||||
function gettype(obj) {
 | 
			
		||||
  var type = typeof obj;
 | 
			
		||||
@@ -505,6 +532,22 @@ function gettype(obj) {
 | 
			
		||||
    .replace(objectRegExp, '$1');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Match path to a layer.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {Layer} layer
 | 
			
		||||
 * @param {string} path
 | 
			
		||||
 * @private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
function matchLayer(layer, path) {
 | 
			
		||||
  try {
 | 
			
		||||
    return layer.match(path);
 | 
			
		||||
  } catch (err) {
 | 
			
		||||
    return err;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// merge params with parent params
 | 
			
		||||
function mergeParams(params, parent) {
 | 
			
		||||
  if (typeof parent !== 'object' || !parent) {
 | 
			
		||||
@@ -561,6 +604,17 @@ function restore(fn, obj) {
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// send an OPTIONS response
 | 
			
		||||
function sendOptionsResponse(res, options, next) {
 | 
			
		||||
  try {
 | 
			
		||||
    var body = options.join(',');
 | 
			
		||||
    res.set('Allow', body);
 | 
			
		||||
    res.send(body);
 | 
			
		||||
  } catch (err) {
 | 
			
		||||
    next(err);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// wrap a function
 | 
			
		||||
function wrap(old, fn) {
 | 
			
		||||
  return function proxy() {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										0
									
								
								server/node_modules/express/lib/router/layer.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/lib/router/layer.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										18
									
								
								server/node_modules/express/lib/router/route.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										18
									
								
								server/node_modules/express/lib/router/route.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -52,10 +52,20 @@ Route.prototype._handles_method = function _handles_method(method) {
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Route.prototype._options = function(){
 | 
			
		||||
  return Object.keys(this.methods).map(function(method) {
 | 
			
		||||
    return method.toUpperCase();
 | 
			
		||||
  });
 | 
			
		||||
Route.prototype._options = function _options() {
 | 
			
		||||
  var methods = Object.keys(this.methods);
 | 
			
		||||
 | 
			
		||||
  // append automatic head
 | 
			
		||||
  if (this.methods.get && !this.methods.head) {
 | 
			
		||||
    methods.push('head');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  for (var i = 0; i < methods.length; i++) {
 | 
			
		||||
    // make upper case
 | 
			
		||||
    methods[i] = methods[i].toUpperCase();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return methods;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										22
									
								
								server/node_modules/express/lib/utils.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										22
									
								
								server/node_modules/express/lib/utils.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,8 +1,17 @@
 | 
			
		||||
/*!
 | 
			
		||||
 * express
 | 
			
		||||
 * Copyright(c) 2009-2013 TJ Holowaychuk
 | 
			
		||||
 * Copyright(c) 2014-2015 Douglas Christopher Wilson
 | 
			
		||||
 * MIT Licensed
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Module dependencies.
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var contentDisposition = require('content-disposition');
 | 
			
		||||
var contentType = require('content-type');
 | 
			
		||||
var deprecate = require('depd')('express');
 | 
			
		||||
var mime = require('send').mime;
 | 
			
		||||
var basename = require('path').basename;
 | 
			
		||||
@@ -10,7 +19,6 @@ var etag = require('etag');
 | 
			
		||||
var proxyaddr = require('proxy-addr');
 | 
			
		||||
var qs = require('qs');
 | 
			
		||||
var querystring = require('querystring');
 | 
			
		||||
var typer = require('media-typer');
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Return strong ETag for `body`.
 | 
			
		||||
@@ -258,21 +266,23 @@ exports.compileTrust = function(val) {
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
exports.setCharset = function(type, charset){
 | 
			
		||||
  if (!type || !charset) return type;
 | 
			
		||||
exports.setCharset = function setCharset(type, charset) {
 | 
			
		||||
  if (!type || !charset) {
 | 
			
		||||
    return type;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // parse type
 | 
			
		||||
  var parsed = typer.parse(type);
 | 
			
		||||
  var parsed = contentType.parse(type);
 | 
			
		||||
 | 
			
		||||
  // set charset
 | 
			
		||||
  parsed.parameters.charset = charset;
 | 
			
		||||
 | 
			
		||||
  // format type
 | 
			
		||||
  return typer.format(parsed);
 | 
			
		||||
  return contentType.format(parsed);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Return new empty objet.
 | 
			
		||||
 * Return new empty object.
 | 
			
		||||
 *
 | 
			
		||||
 * @return {Object}
 | 
			
		||||
 * @api private
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										0
									
								
								server/node_modules/express/lib/view.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/lib/view.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										72
									
								
								server/node_modules/express/node_modules/accepts/HISTORY.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										72
									
								
								server/node_modules/express/node_modules/accepts/HISTORY.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,3 +1,75 @@
 | 
			
		||||
1.2.9 / 2015-06-08
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * deps: mime-types@~2.1.1
 | 
			
		||||
    - perf: fix deopt during mapping
 | 
			
		||||
 | 
			
		||||
1.2.8 / 2015-06-07
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * deps: mime-types@~2.1.0
 | 
			
		||||
    - deps: mime-db@~1.13.0
 | 
			
		||||
  * perf: avoid argument reassignment & argument slice
 | 
			
		||||
  * perf: avoid negotiator recursive construction
 | 
			
		||||
  * perf: enable strict mode
 | 
			
		||||
  * perf: remove unnecessary bitwise operator
 | 
			
		||||
 | 
			
		||||
1.2.7 / 2015-05-10
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * deps: negotiator@0.5.3
 | 
			
		||||
    - Fix media type parameter matching to be case-insensitive
 | 
			
		||||
 | 
			
		||||
1.2.6 / 2015-05-07
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * deps: mime-types@~2.0.11
 | 
			
		||||
    - deps: mime-db@~1.9.1
 | 
			
		||||
  * deps: negotiator@0.5.2
 | 
			
		||||
    - Fix comparing media types with quoted values
 | 
			
		||||
    - Fix splitting media types with quoted commas
 | 
			
		||||
 | 
			
		||||
1.2.5 / 2015-03-13
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * deps: mime-types@~2.0.10
 | 
			
		||||
    - deps: mime-db@~1.8.0
 | 
			
		||||
 | 
			
		||||
1.2.4 / 2015-02-14
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Support Node.js 0.6
 | 
			
		||||
  * deps: mime-types@~2.0.9
 | 
			
		||||
    - deps: mime-db@~1.7.0
 | 
			
		||||
  * deps: negotiator@0.5.1
 | 
			
		||||
    - Fix preference sorting to be stable for long acceptable lists
 | 
			
		||||
 | 
			
		||||
1.2.3 / 2015-01-31
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * deps: mime-types@~2.0.8
 | 
			
		||||
    - deps: mime-db@~1.6.0
 | 
			
		||||
 | 
			
		||||
1.2.2 / 2014-12-30
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * deps: mime-types@~2.0.7
 | 
			
		||||
    - deps: mime-db@~1.5.0
 | 
			
		||||
 | 
			
		||||
1.2.1 / 2014-12-30
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * deps: mime-types@~2.0.5
 | 
			
		||||
    - deps: mime-db@~1.3.1
 | 
			
		||||
 | 
			
		||||
1.2.0 / 2014-12-19
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * deps: negotiator@0.5.0
 | 
			
		||||
    - Fix list return order when large accepted list
 | 
			
		||||
    - Fix missing identity encoding when q=0 exists
 | 
			
		||||
    - Remove dynamic building of Negotiator class
 | 
			
		||||
 | 
			
		||||
1.1.4 / 2014-12-10
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								server/node_modules/express/node_modules/accepts/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										1
									
								
								server/node_modules/express/node_modules/accepts/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,6 +1,7 @@
 | 
			
		||||
(The MIT License)
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2014 Jonathan Ong <me@jongleberry.com>
 | 
			
		||||
Copyright (c) 2015 Douglas Christopher Wilson <doug@somethingdoug.com>
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining
 | 
			
		||||
a copy of this software and associated documentation files (the
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										161
									
								
								server/node_modules/express/node_modules/accepts/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										161
									
								
								server/node_modules/express/node_modules/accepts/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -6,89 +6,130 @@
 | 
			
		||||
[![Build Status][travis-image]][travis-url]
 | 
			
		||||
[![Test Coverage][coveralls-image]][coveralls-url]
 | 
			
		||||
 | 
			
		||||
Higher level content negotation based on [negotiator](https://github.com/federomero/negotiator). Extracted from [koa](https://github.com/koajs/koa) for general use.
 | 
			
		||||
Higher level content negotiation based on [negotiator](https://www.npmjs.com/package/negotiator). Extracted from [koa](https://www.npmjs.com/package/koa) for general use.
 | 
			
		||||
 | 
			
		||||
In addition to negotatior, it allows:
 | 
			
		||||
In addition to negotiator, it allows:
 | 
			
		||||
 | 
			
		||||
- Allows types as an array or arguments list, ie `(['text/html', 'application/json'])` as well as `('text/html', 'application/json')`.
 | 
			
		||||
- Allows type shorthands such as `json`.
 | 
			
		||||
- Returns `false` when no types match
 | 
			
		||||
- Treats non-existent headers as `*`
 | 
			
		||||
 | 
			
		||||
## API
 | 
			
		||||
## Installation
 | 
			
		||||
 | 
			
		||||
### var accept = new Accepts(req)
 | 
			
		||||
```sh
 | 
			
		||||
npm install accepts
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## API
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
var accepts = require('accepts')
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
http.createServer(function (req, res) {
 | 
			
		||||
### accepts(req)
 | 
			
		||||
 | 
			
		||||
Create a new `Accepts` object for the given `req`.
 | 
			
		||||
 | 
			
		||||
#### .charset(charsets)
 | 
			
		||||
 | 
			
		||||
Return the first accepted charset. If nothing in `charsets` is accepted,
 | 
			
		||||
then `false` is returned.
 | 
			
		||||
 | 
			
		||||
#### .charsets()
 | 
			
		||||
 | 
			
		||||
Return the charsets that the request accepts, in the order of the client's
 | 
			
		||||
preference (most preferred first).
 | 
			
		||||
 | 
			
		||||
#### .encoding(encodings)
 | 
			
		||||
 | 
			
		||||
Return the first accepted encoding. If nothing in `encodings` is accepted,
 | 
			
		||||
then `false` is returned.
 | 
			
		||||
 | 
			
		||||
#### .encodings()
 | 
			
		||||
 | 
			
		||||
Return the encodings that the request accepts, in the order of the client's
 | 
			
		||||
preference (most preferred first).
 | 
			
		||||
 | 
			
		||||
#### .language(languages)
 | 
			
		||||
 | 
			
		||||
Return the first accepted language. If nothing in `languages` is accepted,
 | 
			
		||||
then `false` is returned.
 | 
			
		||||
 | 
			
		||||
#### .languages()
 | 
			
		||||
 | 
			
		||||
Return the languages that the request accepts, in the order of the client's
 | 
			
		||||
preference (most preferred first).
 | 
			
		||||
 | 
			
		||||
#### .type(types)
 | 
			
		||||
 | 
			
		||||
Return the first accepted type (and it is returned as the same text as what
 | 
			
		||||
appears in the `types` array). If nothing in `types` is accepted, then `false`
 | 
			
		||||
is returned.
 | 
			
		||||
 | 
			
		||||
The `types` array can contain full MIME types or file extensions. Any value
 | 
			
		||||
that is not a full MIME types is passed to `require('mime-types').lookup`.
 | 
			
		||||
 | 
			
		||||
#### .types()
 | 
			
		||||
 | 
			
		||||
Return the types that the request accepts, in the order of the client's
 | 
			
		||||
preference (most preferred first).
 | 
			
		||||
 | 
			
		||||
## Examples
 | 
			
		||||
 | 
			
		||||
### Simple type negotiation
 | 
			
		||||
 | 
			
		||||
This simple example shows how to use `accepts` to return a different typed
 | 
			
		||||
respond body based on what the client wants to accept. The server lists it's
 | 
			
		||||
preferences in order and will get back the best match between the client and
 | 
			
		||||
server.
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
var accepts = require('accepts')
 | 
			
		||||
var http = require('http')
 | 
			
		||||
 | 
			
		||||
function app(req, res) {
 | 
			
		||||
  var accept = accepts(req)
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
  // the order of this list is significant; should be server preferred order
 | 
			
		||||
  switch(accept.type(['json', 'html'])) {
 | 
			
		||||
    case 'json':
 | 
			
		||||
      res.setHeader('Content-Type', 'application/json')
 | 
			
		||||
      res.write('{"hello":"world!"}')
 | 
			
		||||
      break
 | 
			
		||||
    case 'html':
 | 
			
		||||
      res.setHeader('Content-Type', 'text/html')
 | 
			
		||||
      res.write('<b>hello, world!</b>')
 | 
			
		||||
      break
 | 
			
		||||
    default:
 | 
			
		||||
      // the fallback is text/plain, so no need to specify it above
 | 
			
		||||
      res.setHeader('Content-Type', 'text/plain')
 | 
			
		||||
      res.write('hello, world!')
 | 
			
		||||
      break
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  res.end()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
http.createServer(app).listen(3000)
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### accept\[property\]\(\)
 | 
			
		||||
 | 
			
		||||
Returns all the explicitly accepted content property as an array in descending priority.
 | 
			
		||||
 | 
			
		||||
- `accept.types()`
 | 
			
		||||
- `accept.encodings()`
 | 
			
		||||
- `accept.charsets()`
 | 
			
		||||
- `accept.languages()`
 | 
			
		||||
 | 
			
		||||
They are also aliased in singular form such as `accept.type()`. `accept.languages()` is also aliased as `accept.langs()`, etc.
 | 
			
		||||
 | 
			
		||||
Note: you should almost never do this in a real app as it defeats the purpose of content negotiation.
 | 
			
		||||
 | 
			
		||||
Example:
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
// in Google Chrome
 | 
			
		||||
var encodings = accept.encodings() // -> ['sdch', 'gzip', 'deflate']
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Since you probably don't support `sdch`, you should just supply the encodings you support:
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
var encoding = accept.encodings('gzip', 'deflate') // -> 'gzip', probably
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### accept\[property\]\(values, ...\)
 | 
			
		||||
 | 
			
		||||
You can either have `values` be an array or have an argument list of values.
 | 
			
		||||
 | 
			
		||||
If the client does not accept any `values`, `false` will be returned.
 | 
			
		||||
If the client accepts any `values`, the preferred `value` will be return.
 | 
			
		||||
 | 
			
		||||
For `accept.types()`, shorthand mime types are allowed.
 | 
			
		||||
 | 
			
		||||
Example:
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
// req.headers.accept = 'application/json'
 | 
			
		||||
 | 
			
		||||
accept.types('json') // -> 'json'
 | 
			
		||||
accept.types('html', 'json') // -> 'json'
 | 
			
		||||
accept.types('html') // -> false
 | 
			
		||||
 | 
			
		||||
// req.headers.accept = ''
 | 
			
		||||
// which is equivalent to `*`
 | 
			
		||||
 | 
			
		||||
accept.types() // -> [], no explicit types
 | 
			
		||||
accept.types('text/html', 'text/json') // -> 'text/html', since it was first
 | 
			
		||||
You can test this out with the cURL program:
 | 
			
		||||
```sh
 | 
			
		||||
curl -I -H'Accept: text/html' http://localhost:3000/
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## License
 | 
			
		||||
 | 
			
		||||
[MIT](LICENSE)
 | 
			
		||||
 | 
			
		||||
[npm-image]: https://img.shields.io/npm/v/accepts.svg?style=flat
 | 
			
		||||
[npm-image]: https://img.shields.io/npm/v/accepts.svg
 | 
			
		||||
[npm-url]: https://npmjs.org/package/accepts
 | 
			
		||||
[node-version-image]: https://img.shields.io/node/v/accepts.svg?style=flat
 | 
			
		||||
[node-version-image]: https://img.shields.io/node/v/accepts.svg
 | 
			
		||||
[node-version-url]: http://nodejs.org/download/
 | 
			
		||||
[travis-image]: https://img.shields.io/travis/jshttp/accepts.svg?style=flat
 | 
			
		||||
[travis-image]: https://img.shields.io/travis/jshttp/accepts/master.svg
 | 
			
		||||
[travis-url]: https://travis-ci.org/jshttp/accepts
 | 
			
		||||
[coveralls-image]: https://img.shields.io/coveralls/jshttp/accepts.svg?style=flat
 | 
			
		||||
[coveralls-image]: https://img.shields.io/coveralls/jshttp/accepts/master.svg
 | 
			
		||||
[coveralls-url]: https://coveralls.io/r/jshttp/accepts
 | 
			
		||||
[downloads-image]: https://img.shields.io/npm/dm/accepts.svg?style=flat
 | 
			
		||||
[downloads-image]: https://img.shields.io/npm/dm/accepts.svg
 | 
			
		||||
[downloads-url]: https://npmjs.org/package/accepts
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										143
									
								
								server/node_modules/express/node_modules/accepts/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										143
									
								
								server/node_modules/express/node_modules/accepts/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,16 +1,40 @@
 | 
			
		||||
/*!
 | 
			
		||||
 * accepts
 | 
			
		||||
 * Copyright(c) 2014 Jonathan Ong
 | 
			
		||||
 * Copyright(c) 2015 Douglas Christopher Wilson
 | 
			
		||||
 * MIT Licensed
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
'use strict'
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Module dependencies.
 | 
			
		||||
 * @private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var Negotiator = require('negotiator')
 | 
			
		||||
var mime = require('mime-types')
 | 
			
		||||
 | 
			
		||||
var slice = [].slice
 | 
			
		||||
/**
 | 
			
		||||
 * Module exports.
 | 
			
		||||
 * @public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
module.exports = Accepts
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Create a new Accepts object for the given req.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {object} req
 | 
			
		||||
 * @public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
function Accepts(req) {
 | 
			
		||||
  if (!(this instanceof Accepts))
 | 
			
		||||
    return new Accepts(req)
 | 
			
		||||
 | 
			
		||||
  this.headers = req.headers
 | 
			
		||||
  this.negotiator = Negotiator(req)
 | 
			
		||||
  this.negotiator = new Negotiator(req)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -49,19 +73,31 @@ function Accepts(req) {
 | 
			
		||||
 *     this.types('html', 'json');
 | 
			
		||||
 *     // => "json"
 | 
			
		||||
 *
 | 
			
		||||
 * @param {String|Array} type(s)...
 | 
			
		||||
 * @param {String|Array} types...
 | 
			
		||||
 * @return {String|Array|Boolean}
 | 
			
		||||
 * @api public
 | 
			
		||||
 * @public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Accepts.prototype.type =
 | 
			
		||||
Accepts.prototype.types = function (types) {
 | 
			
		||||
  if (!Array.isArray(types)) types = slice.call(arguments);
 | 
			
		||||
  var n = this.negotiator;
 | 
			
		||||
  if (!types.length) return n.mediaTypes();
 | 
			
		||||
Accepts.prototype.types = function (types_) {
 | 
			
		||||
  var types = types_
 | 
			
		||||
 | 
			
		||||
  // support flattened arguments
 | 
			
		||||
  if (types && !Array.isArray(types)) {
 | 
			
		||||
    types = new Array(arguments.length)
 | 
			
		||||
    for (var i = 0; i < types.length; i++) {
 | 
			
		||||
      types[i] = arguments[i]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // no types, return all requested types
 | 
			
		||||
  if (!types || types.length === 0) {
 | 
			
		||||
    return this.negotiator.mediaTypes()
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (!this.headers.accept) return types[0];
 | 
			
		||||
  var mimes = types.map(extToMime);
 | 
			
		||||
  var accepts = n.mediaTypes(mimes.filter(validMime));
 | 
			
		||||
  var accepts = this.negotiator.mediaTypes(mimes.filter(validMime));
 | 
			
		||||
  var first = accepts[0];
 | 
			
		||||
  if (!first) return false;
 | 
			
		||||
  return types[mimes.indexOf(first)];
 | 
			
		||||
@@ -75,17 +111,29 @@ Accepts.prototype.types = function (types) {
 | 
			
		||||
 *
 | 
			
		||||
 *     ['gzip', 'deflate']
 | 
			
		||||
 *
 | 
			
		||||
 * @param {String|Array} encoding(s)...
 | 
			
		||||
 * @param {String|Array} encodings...
 | 
			
		||||
 * @return {String|Array}
 | 
			
		||||
 * @api public
 | 
			
		||||
 * @public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Accepts.prototype.encoding =
 | 
			
		||||
Accepts.prototype.encodings = function (encodings) {
 | 
			
		||||
  if (!Array.isArray(encodings)) encodings = slice.call(arguments);
 | 
			
		||||
  var n = this.negotiator;
 | 
			
		||||
  if (!encodings.length) return n.encodings();
 | 
			
		||||
  return n.encodings(encodings)[0] || false;
 | 
			
		||||
Accepts.prototype.encodings = function (encodings_) {
 | 
			
		||||
  var encodings = encodings_
 | 
			
		||||
 | 
			
		||||
  // support flattened arguments
 | 
			
		||||
  if (encodings && !Array.isArray(encodings)) {
 | 
			
		||||
    encodings = new Array(arguments.length)
 | 
			
		||||
    for (var i = 0; i < encodings.length; i++) {
 | 
			
		||||
      encodings[i] = arguments[i]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // no encodings, return all requested encodings
 | 
			
		||||
  if (!encodings || encodings.length === 0) {
 | 
			
		||||
    return this.negotiator.encodings()
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return this.negotiator.encodings(encodings)[0] || false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -96,18 +144,29 @@ Accepts.prototype.encodings = function (encodings) {
 | 
			
		||||
 *
 | 
			
		||||
 *     ['utf-8', 'utf-7', 'iso-8859-1']
 | 
			
		||||
 *
 | 
			
		||||
 * @param {String|Array} charset(s)...
 | 
			
		||||
 * @param {String|Array} charsets...
 | 
			
		||||
 * @return {String|Array}
 | 
			
		||||
 * @api public
 | 
			
		||||
 * @public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Accepts.prototype.charset =
 | 
			
		||||
Accepts.prototype.charsets = function (charsets) {
 | 
			
		||||
  if (!Array.isArray(charsets)) charsets = [].slice.call(arguments);
 | 
			
		||||
  var n = this.negotiator;
 | 
			
		||||
  if (!charsets.length) return n.charsets();
 | 
			
		||||
  if (!this.headers['accept-charset']) return charsets[0];
 | 
			
		||||
  return n.charsets(charsets)[0] || false;
 | 
			
		||||
Accepts.prototype.charsets = function (charsets_) {
 | 
			
		||||
  var charsets = charsets_
 | 
			
		||||
 | 
			
		||||
  // support flattened arguments
 | 
			
		||||
  if (charsets && !Array.isArray(charsets)) {
 | 
			
		||||
    charsets = new Array(arguments.length)
 | 
			
		||||
    for (var i = 0; i < charsets.length; i++) {
 | 
			
		||||
      charsets[i] = arguments[i]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // no charsets, return all requested charsets
 | 
			
		||||
  if (!charsets || charsets.length === 0) {
 | 
			
		||||
    return this.negotiator.charsets()
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return this.negotiator.charsets(charsets)[0] || false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -118,20 +177,31 @@ Accepts.prototype.charsets = function (charsets) {
 | 
			
		||||
 *
 | 
			
		||||
 *     ['es', 'pt', 'en']
 | 
			
		||||
 *
 | 
			
		||||
 * @param {String|Array} lang(s)...
 | 
			
		||||
 * @param {String|Array} langs...
 | 
			
		||||
 * @return {Array|String}
 | 
			
		||||
 * @api public
 | 
			
		||||
 * @public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Accepts.prototype.lang =
 | 
			
		||||
Accepts.prototype.langs =
 | 
			
		||||
Accepts.prototype.language =
 | 
			
		||||
Accepts.prototype.languages = function (langs) {
 | 
			
		||||
  if (!Array.isArray(langs)) langs = slice.call(arguments);
 | 
			
		||||
  var n = this.negotiator;
 | 
			
		||||
  if (!langs.length) return n.languages();
 | 
			
		||||
  if (!this.headers['accept-language']) return langs[0];
 | 
			
		||||
  return n.languages(langs)[0] || false;
 | 
			
		||||
Accepts.prototype.languages = function (languages_) {
 | 
			
		||||
  var languages = languages_
 | 
			
		||||
 | 
			
		||||
  // support flattened arguments
 | 
			
		||||
  if (languages && !Array.isArray(languages)) {
 | 
			
		||||
    languages = new Array(arguments.length)
 | 
			
		||||
    for (var i = 0; i < languages.length; i++) {
 | 
			
		||||
      languages[i] = arguments[i]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // no languages, return all requested languages
 | 
			
		||||
  if (!languages || languages.length === 0) {
 | 
			
		||||
    return this.negotiator.languages()
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return this.negotiator.languages(languages)[0] || false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -139,12 +209,13 @@ Accepts.prototype.languages = function (langs) {
 | 
			
		||||
 *
 | 
			
		||||
 * @param {String} type
 | 
			
		||||
 * @return {String}
 | 
			
		||||
 * @api private
 | 
			
		||||
 * @private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
function extToMime(type) {
 | 
			
		||||
  if (~type.indexOf('/')) return type;
 | 
			
		||||
  return mime.lookup(type);
 | 
			
		||||
  return type.indexOf('/') === -1
 | 
			
		||||
    ? mime.lookup(type)
 | 
			
		||||
    : type
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -152,7 +223,7 @@ function extToMime(type) {
 | 
			
		||||
 *
 | 
			
		||||
 * @param {String} type
 | 
			
		||||
 * @return {String}
 | 
			
		||||
 * @api private
 | 
			
		||||
 * @private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
function validMime(type) {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										44
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/HISTORY.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										44
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/HISTORY.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,3 +1,47 @@
 | 
			
		||||
2.1.1 / 2015-06-08
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * perf: fix deopt during mapping
 | 
			
		||||
 | 
			
		||||
2.1.0 / 2015-06-07
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Fix incorrectly treating extension-less file name as extension
 | 
			
		||||
    - i.e. `'path/to/json'` will no longer return `application/json`
 | 
			
		||||
  * Fix `.charset(type)` to accept parameters
 | 
			
		||||
  * Fix `.charset(type)` to match case-insensitive
 | 
			
		||||
  * Improve generation of extension to MIME mapping
 | 
			
		||||
  * Refactor internals for readability and no argument reassignment
 | 
			
		||||
  * Prefer `application/*` MIME types from the same source
 | 
			
		||||
  * Prefer any type over `application/octet-stream`
 | 
			
		||||
  * deps: mime-db@~1.13.0
 | 
			
		||||
    - Add nginx as a source
 | 
			
		||||
    - Add new mime types
 | 
			
		||||
 | 
			
		||||
2.0.14 / 2015-06-06
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * deps: mime-db@~1.12.0
 | 
			
		||||
    - Add new mime types
 | 
			
		||||
 | 
			
		||||
2.0.13 / 2015-05-31
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * deps: mime-db@~1.11.0
 | 
			
		||||
    - Add new mime types
 | 
			
		||||
 | 
			
		||||
2.0.12 / 2015-05-19
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * deps: mime-db@~1.10.0
 | 
			
		||||
    - Add new mime types
 | 
			
		||||
 | 
			
		||||
2.0.11 / 2015-05-05
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * deps: mime-db@~1.9.1
 | 
			
		||||
    - Add new mime types
 | 
			
		||||
 | 
			
		||||
2.0.10 / 2015-03-13
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										37
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										37
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,22 +1,23 @@
 | 
			
		||||
(The MIT License)
 | 
			
		||||
 | 
			
		||||
The MIT License (MIT)
 | 
			
		||||
Copyright (c) 2014 Jonathan Ong <me@jongleberry.com>
 | 
			
		||||
Copyright (c) 2015 Douglas Christopher Wilson <doug@somethingdoug.com>
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2014 Jonathan Ong me@jongleberry.com
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining
 | 
			
		||||
a copy of this software and associated documentation files (the
 | 
			
		||||
'Software'), to deal in the Software without restriction, including
 | 
			
		||||
without limitation the rights to use, copy, modify, merge, publish,
 | 
			
		||||
distribute, sublicense, and/or sell copies of the Software, and to
 | 
			
		||||
permit persons to whom the Software is furnished to do so, subject to
 | 
			
		||||
the following conditions:
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
in the Software without restriction, including without limitation the rights
 | 
			
		||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
			
		||||
copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
furnished to do so, subject to the following conditions:
 | 
			
		||||
The above copyright notice and this permission notice shall be
 | 
			
		||||
included in all copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in
 | 
			
		||||
all copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
			
		||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
			
		||||
THE SOFTWARE.
 | 
			
		||||
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
 | 
			
		||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 | 
			
		||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 | 
			
		||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 | 
			
		||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 | 
			
		||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 | 
			
		||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										19
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										19
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -42,10 +42,11 @@ All functions return `false` if input is invalid or not found.
 | 
			
		||||
Lookup the content-type associated with a file.
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
mime.lookup('json')           // 'application/json'
 | 
			
		||||
mime.lookup('.md')            // 'text/x-markdown'
 | 
			
		||||
mime.lookup('file.html')      // 'text/html'
 | 
			
		||||
mime.lookup('folder/file.js') // 'application/javascript'
 | 
			
		||||
mime.lookup('json')             // 'application/json'
 | 
			
		||||
mime.lookup('.md')              // 'text/x-markdown'
 | 
			
		||||
mime.lookup('file.html')        // 'text/html'
 | 
			
		||||
mime.lookup('folder/file.js')   // 'application/javascript'
 | 
			
		||||
mime.lookup('folder/.htaccess') // false
 | 
			
		||||
 | 
			
		||||
mime.lookup('cats') // false
 | 
			
		||||
```
 | 
			
		||||
@@ -90,13 +91,13 @@ A map of extensions by content-type.
 | 
			
		||||
 | 
			
		||||
[MIT](LICENSE)
 | 
			
		||||
 | 
			
		||||
[npm-image]: https://img.shields.io/npm/v/mime-types.svg?style=flat
 | 
			
		||||
[npm-image]: https://img.shields.io/npm/v/mime-types.svg
 | 
			
		||||
[npm-url]: https://npmjs.org/package/mime-types
 | 
			
		||||
[node-version-image]: https://img.shields.io/badge/node.js-%3E%3D_0.6-brightgreen.svg?style=flat
 | 
			
		||||
[node-version-image]: https://img.shields.io/node/v/mime-types.svg
 | 
			
		||||
[node-version-url]: http://nodejs.org/download/
 | 
			
		||||
[travis-image]: https://img.shields.io/travis/jshttp/mime-types.svg?style=flat
 | 
			
		||||
[travis-image]: https://img.shields.io/travis/jshttp/mime-types/master.svg
 | 
			
		||||
[travis-url]: https://travis-ci.org/jshttp/mime-types
 | 
			
		||||
[coveralls-image]: https://img.shields.io/coveralls/jshttp/mime-types.svg?style=flat
 | 
			
		||||
[coveralls-image]: https://img.shields.io/coveralls/jshttp/mime-types/master.svg
 | 
			
		||||
[coveralls-url]: https://coveralls.io/r/jshttp/mime-types
 | 
			
		||||
[downloads-image]: https://img.shields.io/npm/dm/mime-types.svg?style=flat
 | 
			
		||||
[downloads-image]: https://img.shields.io/npm/dm/mime-types.svg
 | 
			
		||||
[downloads-url]: https://npmjs.org/package/mime-types
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										215
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										215
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,63 +1,188 @@
 | 
			
		||||
/*!
 | 
			
		||||
 * mime-types
 | 
			
		||||
 * Copyright(c) 2014 Jonathan Ong
 | 
			
		||||
 * Copyright(c) 2015 Douglas Christopher Wilson
 | 
			
		||||
 * MIT Licensed
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
'use strict'
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Module dependencies.
 | 
			
		||||
 * @private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var db = require('mime-db')
 | 
			
		||||
var extname = require('path').extname
 | 
			
		||||
 | 
			
		||||
// types[extension] = type
 | 
			
		||||
exports.types = Object.create(null)
 | 
			
		||||
// extensions[type] = [extensions]
 | 
			
		||||
/**
 | 
			
		||||
 * Module variables.
 | 
			
		||||
 * @private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var extractTypeRegExp = /^\s*([^;\s]*)(?:;|\s|$)/
 | 
			
		||||
var textTypeRegExp = /^text\//i
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Module exports.
 | 
			
		||||
 * @public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
exports.charset = charset
 | 
			
		||||
exports.charsets = { lookup: charset }
 | 
			
		||||
exports.contentType = contentType
 | 
			
		||||
exports.extension = extension
 | 
			
		||||
exports.extensions = Object.create(null)
 | 
			
		||||
exports.lookup = lookup
 | 
			
		||||
exports.types = Object.create(null)
 | 
			
		||||
 | 
			
		||||
Object.keys(db).forEach(function (name) {
 | 
			
		||||
  var mime = db[name]
 | 
			
		||||
  var exts = mime.extensions
 | 
			
		||||
  if (!exts || !exts.length) return
 | 
			
		||||
  exports.extensions[name] = exts
 | 
			
		||||
  exts.forEach(function (ext) {
 | 
			
		||||
    exports.types[ext] = name
 | 
			
		||||
  })
 | 
			
		||||
})
 | 
			
		||||
// Populate the extensions/types maps
 | 
			
		||||
populateMaps(exports.extensions, exports.types)
 | 
			
		||||
 | 
			
		||||
exports.lookup = function (string) {
 | 
			
		||||
  if (!string || typeof string !== "string") return false
 | 
			
		||||
  // remove any leading paths, though we should just use path.basename
 | 
			
		||||
  string = string.replace(/.*[\.\/\\]/, '').toLowerCase()
 | 
			
		||||
  if (!string) return false
 | 
			
		||||
  return exports.types[string] || false
 | 
			
		||||
}
 | 
			
		||||
/**
 | 
			
		||||
 * Get the default charset for a MIME type.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {string} type
 | 
			
		||||
 * @return {boolean|string}
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
exports.extension = function (type) {
 | 
			
		||||
  if (!type || typeof type !== "string") return false
 | 
			
		||||
  // to do: use media-typer
 | 
			
		||||
  type = type.match(/^\s*([^;\s]*)(?:;|\s|$)/)
 | 
			
		||||
  if (!type) return false
 | 
			
		||||
  var exts = exports.extensions[type[1].toLowerCase()]
 | 
			
		||||
  if (!exts || !exts.length) return false
 | 
			
		||||
  return exts[0]
 | 
			
		||||
}
 | 
			
		||||
function charset(type) {
 | 
			
		||||
  if (!type || typeof type !== 'string') {
 | 
			
		||||
    return false
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
// type has to be an exact mime type
 | 
			
		||||
exports.charset = function (type) {
 | 
			
		||||
  var mime = db[type]
 | 
			
		||||
  if (mime && mime.charset) return mime.charset
 | 
			
		||||
  // TODO: use media-typer
 | 
			
		||||
  var match = extractTypeRegExp.exec(type)
 | 
			
		||||
  var mime = match && db[match[1].toLowerCase()]
 | 
			
		||||
 | 
			
		||||
  if (mime && mime.charset) {
 | 
			
		||||
    return mime.charset
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // default text/* to utf-8
 | 
			
		||||
  if (/^text\//.test(type)) return 'UTF-8'
 | 
			
		||||
  if (match && textTypeRegExp.test(match[1])) {
 | 
			
		||||
    return 'UTF-8'
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// backwards compatibility
 | 
			
		||||
exports.charsets = {
 | 
			
		||||
  lookup: exports.charset
 | 
			
		||||
/**
 | 
			
		||||
 * Create a full Content-Type header given a MIME type or extension.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {string} str
 | 
			
		||||
 * @return {boolean|string}
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
function contentType(str) {
 | 
			
		||||
  // TODO: should this even be in this module?
 | 
			
		||||
  if (!str || typeof str !== 'string') {
 | 
			
		||||
    return false
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  var mime = str.indexOf('/') === -1
 | 
			
		||||
    ? exports.lookup(str)
 | 
			
		||||
    : str
 | 
			
		||||
 | 
			
		||||
  if (!mime) {
 | 
			
		||||
    return false
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // TODO: use content-type or other module
 | 
			
		||||
  if (mime.indexOf('charset') === -1) {
 | 
			
		||||
    var charset = exports.charset(mime)
 | 
			
		||||
    if (charset) mime += '; charset=' + charset.toLowerCase()
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return mime
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// to do: maybe use set-type module or something
 | 
			
		||||
exports.contentType = function (type) {
 | 
			
		||||
  if (!type || typeof type !== "string") return false
 | 
			
		||||
  if (!~type.indexOf('/')) type = exports.lookup(type)
 | 
			
		||||
  if (!type) return false
 | 
			
		||||
  if (!~type.indexOf('charset')) {
 | 
			
		||||
    var charset = exports.charset(type)
 | 
			
		||||
    if (charset) type += '; charset=' + charset.toLowerCase()
 | 
			
		||||
/**
 | 
			
		||||
 * Get the default extension for a MIME type.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {string} type
 | 
			
		||||
 * @return {boolean|string}
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
function extension(type) {
 | 
			
		||||
  if (!type || typeof type !== 'string') {
 | 
			
		||||
    return false
 | 
			
		||||
  }
 | 
			
		||||
  return type
 | 
			
		||||
 | 
			
		||||
  // TODO: use media-typer
 | 
			
		||||
  var match = extractTypeRegExp.exec(type)
 | 
			
		||||
 | 
			
		||||
  // get extensions
 | 
			
		||||
  var exts = match && exports.extensions[match[1].toLowerCase()]
 | 
			
		||||
 | 
			
		||||
  if (!exts || !exts.length) {
 | 
			
		||||
    return false
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return exts[0]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Lookup the MIME type for a file path/extension.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {string} path
 | 
			
		||||
 * @return {boolean|string}
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
function lookup(path) {
 | 
			
		||||
  if (!path || typeof path !== 'string') {
 | 
			
		||||
    return false
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // get the extension ("ext" or ".ext" or full path)
 | 
			
		||||
  var extension = extname('x.' + path)
 | 
			
		||||
    .toLowerCase()
 | 
			
		||||
    .substr(1)
 | 
			
		||||
 | 
			
		||||
  if (!extension) {
 | 
			
		||||
    return false
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return exports.types[extension] || false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Populate the extensions and types maps.
 | 
			
		||||
 * @private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
function populateMaps(extensions, types) {
 | 
			
		||||
  // source preference (least -> most)
 | 
			
		||||
  var preference = ['nginx', 'apache', undefined, 'iana']
 | 
			
		||||
 | 
			
		||||
  Object.keys(db).forEach(function forEachMimeType(type) {
 | 
			
		||||
    var mime = db[type]
 | 
			
		||||
    var exts = mime.extensions
 | 
			
		||||
 | 
			
		||||
    if (!exts || !exts.length) {
 | 
			
		||||
      return
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // mime -> extensions
 | 
			
		||||
    extensions[type] = exts
 | 
			
		||||
 | 
			
		||||
    // extension -> mime
 | 
			
		||||
    for (var i = 0; i < exts.length; i++) {
 | 
			
		||||
      var extension = exts[i]
 | 
			
		||||
 | 
			
		||||
      if (types[extension]) {
 | 
			
		||||
        var from = preference.indexOf(db[types[extension]].source)
 | 
			
		||||
        var to = preference.indexOf(mime.source)
 | 
			
		||||
 | 
			
		||||
        if (types[extension] !== 'application/octet-stream'
 | 
			
		||||
          && from > to || (from === to && types[extension].substr(0, 12) === 'application/')) {
 | 
			
		||||
          // skip the remapping
 | 
			
		||||
          return
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // set the extension -> mime
 | 
			
		||||
      types[extension] = type
 | 
			
		||||
    }
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										54
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/HISTORY.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										54
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/HISTORY.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,3 +1,57 @@
 | 
			
		||||
1.13.0 / 2015-06-07
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Add nginx as a source
 | 
			
		||||
  * Add `application/x-cocoa`
 | 
			
		||||
  * Add `application/x-java-archive-diff`
 | 
			
		||||
  * Add `application/x-makeself`
 | 
			
		||||
  * Add `application/x-perl`
 | 
			
		||||
  * Add `application/x-pilot`
 | 
			
		||||
  * Add `application/x-redhat-package-manager`
 | 
			
		||||
  * Add `application/x-sea`
 | 
			
		||||
  * Add `audio/x-m4a`
 | 
			
		||||
  * Add `audio/x-realaudio`
 | 
			
		||||
  * Add `image/x-jng`
 | 
			
		||||
  * Add `text/mathml`
 | 
			
		||||
 | 
			
		||||
1.12.0 / 2015-06-05
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Add `application/bdoc`
 | 
			
		||||
  * Add `application/vnd.hyperdrive+json`
 | 
			
		||||
  * Add `application/x-bdoc`
 | 
			
		||||
  * Add extension `.rtf` to `text/rtf`
 | 
			
		||||
 | 
			
		||||
1.11.0 / 2015-05-31
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Add `audio/wav`
 | 
			
		||||
  * Add `audio/wave`
 | 
			
		||||
  * Add extension `.litcoffee` to `text/coffeescript`
 | 
			
		||||
  * Add extension `.sfd-hdstx` to `application/vnd.hydrostatix.sof-data`
 | 
			
		||||
  * Add extension `.n-gage` to `application/vnd.nokia.n-gage.symbian.install`
 | 
			
		||||
 | 
			
		||||
1.10.0 / 2015-05-19
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
  * Add `application/vnd.balsamiq.bmpr`
 | 
			
		||||
  * Add `application/vnd.microsoft.portable-executable`
 | 
			
		||||
  * Add `application/x-ns-proxy-autoconfig`
 | 
			
		||||
 | 
			
		||||
1.9.1 / 2015-04-19
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Remove `.json` extension from `application/manifest+json`
 | 
			
		||||
    - This is causing bugs downstream
 | 
			
		||||
 | 
			
		||||
1.9.0 / 2015-04-19
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Add `application/manifest+json`
 | 
			
		||||
  * Add `application/vnd.micro+json`
 | 
			
		||||
  * Add `image/vnd.zbrush.pcx`
 | 
			
		||||
  * Add `image/x-ms-bmp`
 | 
			
		||||
 | 
			
		||||
1.8.0 / 2015-03-13
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										20
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										20
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -13,6 +13,7 @@ It aggregates data from the following sources:
 | 
			
		||||
 | 
			
		||||
- http://www.iana.org/assignments/media-types/media-types.xhtml
 | 
			
		||||
- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
 | 
			
		||||
- http://hg.nginx.org/nginx/raw-file/default/conf/mime.types
 | 
			
		||||
 | 
			
		||||
## Installation
 | 
			
		||||
 | 
			
		||||
@@ -20,8 +21,12 @@ It aggregates data from the following sources:
 | 
			
		||||
npm install mime-db
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
If you're crazy enough to use this in the browser,
 | 
			
		||||
you can just grab the JSON file:
 | 
			
		||||
### Database Download
 | 
			
		||||
 | 
			
		||||
If you're crazy enough to use this in the browser, you can just grab the
 | 
			
		||||
JSON file using [RawGit](https://rawgit.com/). It is recommended to replace
 | 
			
		||||
`master` with [a release tag](https://github.com/jshttp/mime-db/tags) as the
 | 
			
		||||
JSON format may change in the future.
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
https://cdn.rawgit.com/jshttp/mime-db/master/db.json
 | 
			
		||||
@@ -45,6 +50,7 @@ Each mime type has the following properties:
 | 
			
		||||
    If not set, it's probably a custom media type.
 | 
			
		||||
    - `apache` - [Apache common media types](http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types)
 | 
			
		||||
    - `iana` - [IANA-defined media types](http://www.iana.org/assignments/media-types/media-types.xhtml)
 | 
			
		||||
    - `nginx` - [nginx media types](http://hg.nginx.org/nginx/raw-file/default/conf/mime.types)
 | 
			
		||||
- `.extensions[]` - known extensions associated with this mime type.
 | 
			
		||||
- `.compressible` - whether a file of this type is can be gzipped.
 | 
			
		||||
- `.charset` - the default charset associated with this type, if any.
 | 
			
		||||
@@ -65,12 +71,12 @@ them with the IANA. The community registration procedure is outlined in
 | 
			
		||||
[RFC 6838 section 5](http://tools.ietf.org/html/rfc6838#section-5). Types
 | 
			
		||||
registered with the IANA are automatically pulled into this library.
 | 
			
		||||
 | 
			
		||||
[npm-version-image]: https://img.shields.io/npm/v/mime-db.svg?style=flat
 | 
			
		||||
[npm-downloads-image]: https://img.shields.io/npm/dm/mime-db.svg?style=flat
 | 
			
		||||
[npm-version-image]: https://img.shields.io/npm/v/mime-db.svg
 | 
			
		||||
[npm-downloads-image]: https://img.shields.io/npm/dm/mime-db.svg
 | 
			
		||||
[npm-url]: https://npmjs.org/package/mime-db
 | 
			
		||||
[travis-image]: https://img.shields.io/travis/jshttp/mime-db.svg?style=flat
 | 
			
		||||
[travis-image]: https://img.shields.io/travis/jshttp/mime-db/master.svg
 | 
			
		||||
[travis-url]: https://travis-ci.org/jshttp/mime-db
 | 
			
		||||
[coveralls-image]: https://img.shields.io/coveralls/jshttp/mime-db.svg?style=flat
 | 
			
		||||
[coveralls-image]: https://img.shields.io/coveralls/jshttp/mime-db/master.svg
 | 
			
		||||
[coveralls-url]: https://coveralls.io/r/jshttp/mime-db?branch=master
 | 
			
		||||
[node-image]: https://img.shields.io/node/v/mime-db.svg?style=flat
 | 
			
		||||
[node-image]: https://img.shields.io/node/v/mime-db.svg
 | 
			
		||||
[node-url]: http://nodejs.org/download/
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										123
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/db.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										123
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/db.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -105,6 +105,10 @@
 | 
			
		||||
  "application/batch-smtp": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
  },
 | 
			
		||||
  "application/bdoc": {
 | 
			
		||||
    "compressible": false,
 | 
			
		||||
    "extensions": ["bdoc"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/beep+xml": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
  },
 | 
			
		||||
@@ -410,7 +414,7 @@
 | 
			
		||||
  "application/java-archive": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "compressible": false,
 | 
			
		||||
    "extensions": ["jar"]
 | 
			
		||||
    "extensions": ["jar","war","ear"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/java-serialized-object": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
@@ -513,6 +517,11 @@
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
    "extensions": ["mads"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/manifest+json": {
 | 
			
		||||
    "charset": "UTF-8",
 | 
			
		||||
    "compressible": true,
 | 
			
		||||
    "extensions": ["webmanifest"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/marc": {
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
    "extensions": ["mrc"]
 | 
			
		||||
@@ -685,7 +694,7 @@
 | 
			
		||||
  "application/octet-stream": {
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
    "compressible": false,
 | 
			
		||||
    "extensions": ["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","buffer"]
 | 
			
		||||
    "extensions": ["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/oda": {
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
@@ -1307,6 +1316,9 @@
 | 
			
		||||
  "application/vnd.balsamiq.bmml+xml": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
  },
 | 
			
		||||
  "application/vnd.balsamiq.bmpr": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
  },
 | 
			
		||||
  "application/vnd.bekitzur-stech+json": {
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
    "compressible": true
 | 
			
		||||
@@ -2029,7 +2041,12 @@
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
  },
 | 
			
		||||
  "application/vnd.hydrostatix.sof-data": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
    "extensions": ["sfd-hdstx"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/vnd.hyperdrive+json": {
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
    "compressible": true
 | 
			
		||||
  },
 | 
			
		||||
  "application/vnd.hzn-3d-crossword": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
@@ -2374,6 +2391,10 @@
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
    "extensions": ["mfm"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/vnd.micro+json": {
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
    "compressible": true
 | 
			
		||||
  },
 | 
			
		||||
  "application/vnd.micrografx.flo": {
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
    "extensions": ["flo"]
 | 
			
		||||
@@ -2382,6 +2403,9 @@
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
    "extensions": ["igx"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/vnd.microsoft.portable-executable": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
  },
 | 
			
		||||
  "application/vnd.miele+json": {
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
    "compressible": true
 | 
			
		||||
@@ -2713,7 +2737,8 @@
 | 
			
		||||
    "extensions": ["ngdat"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/vnd.nokia.n-gage.symbian.install": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
    "extensions": ["n-gage"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/vnd.nokia.ncd": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
@@ -4068,6 +4093,10 @@
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["bcpio"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-bdoc": {
 | 
			
		||||
    "compressible": false,
 | 
			
		||||
    "extensions": ["bdoc"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-bittorrent": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["torrent"]
 | 
			
		||||
@@ -4109,6 +4138,10 @@
 | 
			
		||||
  "application/x-chrome-extension": {
 | 
			
		||||
    "extensions": ["crx"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-cocoa": {
 | 
			
		||||
    "source": "nginx",
 | 
			
		||||
    "extensions": ["cco"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-compress": {
 | 
			
		||||
    "source": "apache"
 | 
			
		||||
  },
 | 
			
		||||
@@ -4263,6 +4296,10 @@
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["iso"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-java-archive-diff": {
 | 
			
		||||
    "source": "nginx",
 | 
			
		||||
    "extensions": ["jardiff"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-java-jnlp-file": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "compressible": false,
 | 
			
		||||
@@ -4283,6 +4320,10 @@
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["lzh","lha"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-makeself": {
 | 
			
		||||
    "source": "nginx",
 | 
			
		||||
    "extensions": ["run"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-mie": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["mie"]
 | 
			
		||||
@@ -4366,10 +4407,22 @@
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["nc","cdf"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-ns-proxy-autoconfig": {
 | 
			
		||||
    "compressible": true,
 | 
			
		||||
    "extensions": ["pac"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-nzb": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["nzb"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-perl": {
 | 
			
		||||
    "source": "nginx",
 | 
			
		||||
    "extensions": ["pl","pm"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-pilot": {
 | 
			
		||||
    "source": "nginx",
 | 
			
		||||
    "extensions": ["prc","pdb"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-pkcs12": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "compressible": false,
 | 
			
		||||
@@ -4388,10 +4441,18 @@
 | 
			
		||||
    "compressible": false,
 | 
			
		||||
    "extensions": ["rar"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-redhat-package-manager": {
 | 
			
		||||
    "source": "nginx",
 | 
			
		||||
    "extensions": ["rpm"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-research-info-systems": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["ris"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-sea": {
 | 
			
		||||
    "source": "nginx",
 | 
			
		||||
    "extensions": ["sea"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-sh": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "compressible": true,
 | 
			
		||||
@@ -4450,7 +4511,7 @@
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-tcl": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["tcl"]
 | 
			
		||||
    "extensions": ["tcl","tk"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-tex": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
@@ -4486,7 +4547,7 @@
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-x509-ca-cert": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["der","crt"]
 | 
			
		||||
    "extensions": ["der","crt","pem"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/x-xfig": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
@@ -4554,7 +4615,7 @@
 | 
			
		||||
    "extensions": ["xhtml","xht"]
 | 
			
		||||
  },
 | 
			
		||||
  "application/xhtml-voice+xml": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
    "source": "apache"
 | 
			
		||||
  },
 | 
			
		||||
  "application/xml": {
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
@@ -4855,7 +4916,7 @@
 | 
			
		||||
    "extensions": ["oga","ogg","spx"]
 | 
			
		||||
  },
 | 
			
		||||
  "audio/opus": {
 | 
			
		||||
    "source": "apache"
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
  },
 | 
			
		||||
  "audio/parityfec": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
@@ -5081,6 +5142,14 @@
 | 
			
		||||
  "audio/vorbis-config": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
  },
 | 
			
		||||
  "audio/wav": {
 | 
			
		||||
    "compressible": false,
 | 
			
		||||
    "extensions": ["wav"]
 | 
			
		||||
  },
 | 
			
		||||
  "audio/wave": {
 | 
			
		||||
    "compressible": false,
 | 
			
		||||
    "extensions": ["wav"]
 | 
			
		||||
  },
 | 
			
		||||
  "audio/webm": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "compressible": false,
 | 
			
		||||
@@ -5104,6 +5173,10 @@
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["flac"]
 | 
			
		||||
  },
 | 
			
		||||
  "audio/x-m4a": {
 | 
			
		||||
    "source": "nginx",
 | 
			
		||||
    "extensions": ["m4a"]
 | 
			
		||||
  },
 | 
			
		||||
  "audio/x-matroska": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["mka"]
 | 
			
		||||
@@ -5128,6 +5201,10 @@
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["rmp"]
 | 
			
		||||
  },
 | 
			
		||||
  "audio/x-realaudio": {
 | 
			
		||||
    "source": "nginx",
 | 
			
		||||
    "extensions": ["ra"]
 | 
			
		||||
  },
 | 
			
		||||
  "audio/x-tta": {
 | 
			
		||||
    "source": "apache"
 | 
			
		||||
  },
 | 
			
		||||
@@ -5355,6 +5432,9 @@
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
    "extensions": ["xif"]
 | 
			
		||||
  },
 | 
			
		||||
  "image/vnd.zbrush.pcx": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
  },
 | 
			
		||||
  "image/webp": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["webp"]
 | 
			
		||||
@@ -5380,10 +5460,19 @@
 | 
			
		||||
    "compressible": true,
 | 
			
		||||
    "extensions": ["ico"]
 | 
			
		||||
  },
 | 
			
		||||
  "image/x-jng": {
 | 
			
		||||
    "source": "nginx",
 | 
			
		||||
    "extensions": ["jng"]
 | 
			
		||||
  },
 | 
			
		||||
  "image/x-mrsid-image": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["sid"]
 | 
			
		||||
  },
 | 
			
		||||
  "image/x-ms-bmp": {
 | 
			
		||||
    "source": "nginx",
 | 
			
		||||
    "compressible": true,
 | 
			
		||||
    "extensions": ["bmp"]
 | 
			
		||||
  },
 | 
			
		||||
  "image/x-pcx": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["pcx"]
 | 
			
		||||
@@ -5647,7 +5736,7 @@
 | 
			
		||||
    "compressible": true
 | 
			
		||||
  },
 | 
			
		||||
  "text/coffeescript": {
 | 
			
		||||
    "extensions": ["coffee"]
 | 
			
		||||
    "extensions": ["coffee","litcoffee"]
 | 
			
		||||
  },
 | 
			
		||||
  "text/css": {
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
@@ -5689,7 +5778,7 @@
 | 
			
		||||
  "text/html": {
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
    "compressible": true,
 | 
			
		||||
    "extensions": ["html","htm"]
 | 
			
		||||
    "extensions": ["html","htm","shtml"]
 | 
			
		||||
  },
 | 
			
		||||
  "text/jade": {
 | 
			
		||||
    "extensions": ["jade"]
 | 
			
		||||
@@ -5711,6 +5800,10 @@
 | 
			
		||||
  "text/markdown": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
  },
 | 
			
		||||
  "text/mathml": {
 | 
			
		||||
    "source": "nginx",
 | 
			
		||||
    "extensions": ["mml"]
 | 
			
		||||
  },
 | 
			
		||||
  "text/mizar": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
  },
 | 
			
		||||
@@ -5755,7 +5848,9 @@
 | 
			
		||||
    "extensions": ["rtx"]
 | 
			
		||||
  },
 | 
			
		||||
  "text/rtf": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
    "compressible": true,
 | 
			
		||||
    "extensions": ["rtf"]
 | 
			
		||||
  },
 | 
			
		||||
  "text/rtp-enc-aescm128": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
@@ -5916,6 +6011,7 @@
 | 
			
		||||
    "extensions": ["c","cc","cxx","cpp","h","hh","dic"]
 | 
			
		||||
  },
 | 
			
		||||
  "text/x-component": {
 | 
			
		||||
    "source": "nginx",
 | 
			
		||||
    "extensions": ["htc"]
 | 
			
		||||
  },
 | 
			
		||||
  "text/x-fortran": {
 | 
			
		||||
@@ -5982,7 +6078,8 @@
 | 
			
		||||
  },
 | 
			
		||||
  "text/xml": {
 | 
			
		||||
    "source": "iana",
 | 
			
		||||
    "compressible": true
 | 
			
		||||
    "compressible": true,
 | 
			
		||||
    "extensions": ["xml"]
 | 
			
		||||
  },
 | 
			
		||||
  "text/xml-external-parsed-entity": {
 | 
			
		||||
    "source": "iana"
 | 
			
		||||
@@ -5995,7 +6092,7 @@
 | 
			
		||||
  },
 | 
			
		||||
  "video/3gpp": {
 | 
			
		||||
    "source": "apache",
 | 
			
		||||
    "extensions": ["3gp"]
 | 
			
		||||
    "extensions": ["3gp","3gpp"]
 | 
			
		||||
  },
 | 
			
		||||
  "video/3gpp-tt": {
 | 
			
		||||
    "source": "apache"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										50
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										50
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,7 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "mime-db",
 | 
			
		||||
  "description": "Media Type Database",
 | 
			
		||||
  "version": "1.8.0",
 | 
			
		||||
  "version": "1.13.0",
 | 
			
		||||
  "contributors": [
 | 
			
		||||
    {
 | 
			
		||||
      "name": "Douglas Christopher Wilson",
 | 
			
		||||
@@ -30,17 +30,17 @@
 | 
			
		||||
  ],
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "https://github.com/jshttp/mime-db"
 | 
			
		||||
    "url": "git://github.com/jshttp/mime-db"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "bluebird": "~2.9.14",
 | 
			
		||||
    "co": "~4.4.0",
 | 
			
		||||
    "cogent": "1",
 | 
			
		||||
    "csv-parse": "0.0.9",
 | 
			
		||||
    "bluebird": "2.9.27",
 | 
			
		||||
    "co": "4.5.4",
 | 
			
		||||
    "cogent": "1.0.1",
 | 
			
		||||
    "csv-parse": "0.1.2",
 | 
			
		||||
    "gnode": "0.1.1",
 | 
			
		||||
    "istanbul": "0.3.7",
 | 
			
		||||
    "mocha": "~1.21.4",
 | 
			
		||||
    "raw-body": "~1.3.3",
 | 
			
		||||
    "istanbul": "0.3.14",
 | 
			
		||||
    "mocha": "1.21.5",
 | 
			
		||||
    "raw-body": "2.1.0",
 | 
			
		||||
    "stream-to-array": "2"
 | 
			
		||||
  },
 | 
			
		||||
  "files": [
 | 
			
		||||
@@ -55,39 +55,21 @@
 | 
			
		||||
  },
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "build": "node scripts/build",
 | 
			
		||||
    "fetch": "gnode scripts/extensions && gnode scripts/types",
 | 
			
		||||
    "fetch": "gnode scripts/fetch-apache && gnode scripts/fetch-iana && gnode scripts/fetch-nginx",
 | 
			
		||||
    "test": "mocha --reporter spec --bail --check-leaks test/",
 | 
			
		||||
    "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
 | 
			
		||||
    "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/",
 | 
			
		||||
    "update": "npm run fetch && npm run build"
 | 
			
		||||
  },
 | 
			
		||||
  "gitHead": "cd5730a475ff03d2ef49fc571d5510a548b63494",
 | 
			
		||||
  "readme": "# mime-db\n\n[![NPM Version][npm-version-image]][npm-url]\n[![NPM Downloads][npm-downloads-image]][npm-url]\n[![Node.js Version][node-image]][node-url]\n[![Build Status][travis-image]][travis-url]\n[![Coverage Status][coveralls-image]][coveralls-url]\n\nThis is a database of all mime types.\nIt consists of a single, public JSON file and does not include any logic,\nallowing it to remain as un-opinionated as possible with an API.\nIt aggregates data from the following sources:\n\n- http://www.iana.org/assignments/media-types/media-types.xhtml\n- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types\n- http://hg.nginx.org/nginx/raw-file/default/conf/mime.types\n\n## Installation\n\n```bash\nnpm install mime-db\n```\n\n### Database Download\n\nIf you're crazy enough to use this in the browser, you can just grab the\nJSON file using [RawGit](https://rawgit.com/). It is recommended to replace\n`master` with [a release tag](https://github.com/jshttp/mime-db/tags) as the\nJSON format may change in the future.\n\n```\nhttps://cdn.rawgit.com/jshttp/mime-db/master/db.json\n```\n\n## Usage\n\n```js\nvar db = require('mime-db');\n\n// grab data on .js files\nvar data = db['application/javascript'];\n```\n\n## Data Structure\n\nThe JSON file is a map lookup for lowercased mime types.\nEach mime type has the following properties:\n\n- `.source` - where the mime type is defined.\n    If not set, it's probably a custom media type.\n    - `apache` - [Apache common media types](http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types)\n    - `iana` - [IANA-defined media types](http://www.iana.org/assignments/media-types/media-types.xhtml)\n    - `nginx` - [nginx media types](http://hg.nginx.org/nginx/raw-file/default/conf/mime.types)\n- `.extensions[]` - known extensions associated with this mime type.\n- `.compressible` - whether a file of this type is can be gzipped.\n- `.charset` - the default charset associated with this type, if any.\n\nIf unknown, every property could be `undefined`.\n\n## Contributing\n\nTo edit the database, only make PRs against `src/custom.json` or\n`src/custom-suffix.json`.\n\nTo update the build, run `npm run update`.\n\n## Adding Custom Media Types\n\nThe best way to get new media types included in this library is to register\nthem with the IANA. The community registration procedure is outlined in\n[RFC 6838 section 5](http://tools.ietf.org/html/rfc6838#section-5). Types\nregistered with the IANA are automatically pulled into this library.\n\n[npm-version-image]: https://img.shields.io/npm/v/mime-db.svg\n[npm-downloads-image]: https://img.shields.io/npm/dm/mime-db.svg\n[npm-url]: https://npmjs.org/package/mime-db\n[travis-image]: https://img.shields.io/travis/jshttp/mime-db/master.svg\n[travis-url]: https://travis-ci.org/jshttp/mime-db\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/mime-db/master.svg\n[coveralls-url]: https://coveralls.io/r/jshttp/mime-db?branch=master\n[node-image]: https://img.shields.io/node/v/mime-db.svg\n[node-url]: http://nodejs.org/download/\n",
 | 
			
		||||
  "readmeFilename": "README.md",
 | 
			
		||||
  "bugs": {
 | 
			
		||||
    "url": "https://github.com/jshttp/mime-db/issues"
 | 
			
		||||
  },
 | 
			
		||||
  "homepage": "https://github.com/jshttp/mime-db",
 | 
			
		||||
  "_id": "mime-db@1.8.0",
 | 
			
		||||
  "_shasum": "82a9b385f22b0f5954dec4d445faba0722c4ad25",
 | 
			
		||||
  "_from": "mime-db@~1.8.0",
 | 
			
		||||
  "_npmVersion": "1.4.28",
 | 
			
		||||
  "_npmUser": {
 | 
			
		||||
    "name": "dougwilson",
 | 
			
		||||
    "email": "doug@somethingdoug.com"
 | 
			
		||||
  },
 | 
			
		||||
  "maintainers": [
 | 
			
		||||
    {
 | 
			
		||||
      "name": "jongleberry",
 | 
			
		||||
      "email": "jonathanrichardong@gmail.com"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "dougwilson",
 | 
			
		||||
      "email": "doug@somethingdoug.com"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "_id": "mime-db@1.13.0",
 | 
			
		||||
  "dist": {
 | 
			
		||||
    "shasum": "82a9b385f22b0f5954dec4d445faba0722c4ad25",
 | 
			
		||||
    "tarball": "http://registry.npmjs.org/mime-db/-/mime-db-1.8.0.tgz"
 | 
			
		||||
    "shasum": "b6b90fbdab177a601068c884408bea3118e3f407"
 | 
			
		||||
  },
 | 
			
		||||
  "directories": {},
 | 
			
		||||
  "_resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.8.0.tgz"
 | 
			
		||||
  "_from": "mime-db@~1.13.0",
 | 
			
		||||
  "_resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.13.0.tgz"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										42
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										42
									
								
								server/node_modules/express/node_modules/accepts/node_modules/mime-types/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,7 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "mime-types",
 | 
			
		||||
  "description": "The ultimate javascript content-type utility.",
 | 
			
		||||
  "version": "2.0.10",
 | 
			
		||||
  "version": "2.1.1",
 | 
			
		||||
  "contributors": [
 | 
			
		||||
    {
 | 
			
		||||
      "name": "Douglas Christopher Wilson",
 | 
			
		||||
@@ -25,13 +25,13 @@
 | 
			
		||||
  ],
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "https://github.com/jshttp/mime-types"
 | 
			
		||||
    "url": "git://github.com/jshttp/mime-types"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "mime-db": "~1.8.0"
 | 
			
		||||
    "mime-db": "~1.13.0"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "istanbul": "0.3.7",
 | 
			
		||||
    "istanbul": "0.3.14",
 | 
			
		||||
    "mocha": "~1.21.5"
 | 
			
		||||
  },
 | 
			
		||||
  "files": [
 | 
			
		||||
@@ -47,37 +47,15 @@
 | 
			
		||||
    "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot test/test.js",
 | 
			
		||||
    "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot test/test.js"
 | 
			
		||||
  },
 | 
			
		||||
  "gitHead": "9d4533a2b3a68af48a7f3ded9f8f525648e7bcc1",
 | 
			
		||||
  "readme": "# mime-types\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nThe ultimate javascript content-type utility.\n\nSimilar to [node-mime](https://github.com/broofa/node-mime), except:\n\n- __No fallbacks.__ Instead of naively returning the first available type, `mime-types` simply returns `false`,\n  so do `var type = mime.lookup('unrecognized') || 'application/octet-stream'`.\n- No `new Mime()` business, so you could do `var lookup = require('mime-types').lookup`.\n- Additional mime types are added such as jade and stylus via [mime-db](https://github.com/jshttp/mime-db)\n- No `.define()` functionality\n\nOtherwise, the API is compatible.\n\n## Install\n\n```sh\n$ npm install mime-types\n```\n\n## Adding Types\n\nAll mime types are based on [mime-db](https://github.com/jshttp/mime-db),\nso open a PR there if you'd like to add mime types.\n\n## API\n\n```js\nvar mime = require('mime-types')\n```\n\nAll functions return `false` if input is invalid or not found.\n\n### mime.lookup(path)\n\nLookup the content-type associated with a file.\n\n```js\nmime.lookup('json')             // 'application/json'\nmime.lookup('.md')              // 'text/x-markdown'\nmime.lookup('file.html')        // 'text/html'\nmime.lookup('folder/file.js')   // 'application/javascript'\nmime.lookup('folder/.htaccess') // false\n\nmime.lookup('cats') // false\n```\n\n### mime.contentType(type)\n\nCreate a full content-type header given a content-type or extension.\n\n```js\nmime.contentType('markdown')  // 'text/x-markdown; charset=utf-8'\nmime.contentType('file.json') // 'application/json; charset=utf-8'\n\n// from a full path\nmime.contentType(path.extname('/path/to/file.json')) // 'application/json; charset=utf-8'\n```\n\n### mime.extension(type)\n\nGet the default extension for a content-type.\n\n```js\nmime.extension('application/octet-stream') // 'bin'\n```\n\n### mime.charset(type)\n\nLookup the implied default charset of a content-type.\n\n```js\nmime.charset('text/x-markdown') // 'UTF-8'\n```\n\n### var type = mime.types[extension]\n\nA map of content-types by extension.\n\n### [extensions...] = mime.extensions[type]\n\nA map of extensions by content-type.\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/mime-types.svg\n[npm-url]: https://npmjs.org/package/mime-types\n[node-version-image]: https://img.shields.io/node/v/mime-types.svg\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/mime-types/master.svg\n[travis-url]: https://travis-ci.org/jshttp/mime-types\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/mime-types/master.svg\n[coveralls-url]: https://coveralls.io/r/jshttp/mime-types\n[downloads-image]: https://img.shields.io/npm/dm/mime-types.svg\n[downloads-url]: https://npmjs.org/package/mime-types\n",
 | 
			
		||||
  "readmeFilename": "README.md",
 | 
			
		||||
  "bugs": {
 | 
			
		||||
    "url": "https://github.com/jshttp/mime-types/issues"
 | 
			
		||||
  },
 | 
			
		||||
  "homepage": "https://github.com/jshttp/mime-types",
 | 
			
		||||
  "_id": "mime-types@2.0.10",
 | 
			
		||||
  "_shasum": "eacd81bb73cab2a77447549a078d4f2018c67b4d",
 | 
			
		||||
  "_from": "mime-types@~2.0.4",
 | 
			
		||||
  "_npmVersion": "1.4.28",
 | 
			
		||||
  "_npmUser": {
 | 
			
		||||
    "name": "dougwilson",
 | 
			
		||||
    "email": "doug@somethingdoug.com"
 | 
			
		||||
  },
 | 
			
		||||
  "maintainers": [
 | 
			
		||||
    {
 | 
			
		||||
      "name": "jongleberry",
 | 
			
		||||
      "email": "jonathanrichardong@gmail.com"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "fishrock123",
 | 
			
		||||
      "email": "fishrock123@rocketmail.com"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "dougwilson",
 | 
			
		||||
      "email": "doug@somethingdoug.com"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "_id": "mime-types@2.1.1",
 | 
			
		||||
  "dist": {
 | 
			
		||||
    "shasum": "eacd81bb73cab2a77447549a078d4f2018c67b4d",
 | 
			
		||||
    "tarball": "http://registry.npmjs.org/mime-types/-/mime-types-2.0.10.tgz"
 | 
			
		||||
    "shasum": "07341942622db6e106a6f7f83922c1fdc54051cc"
 | 
			
		||||
  },
 | 
			
		||||
  "directories": {},
 | 
			
		||||
  "_resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.10.tgz"
 | 
			
		||||
  "_from": "mime-types@~2.1.1",
 | 
			
		||||
  "_resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.1.tgz"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								server/node_modules/express/node_modules/accepts/node_modules/negotiator/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										3
									
								
								server/node_modules/express/node_modules/accepts/node_modules/negotiator/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,7 +1,8 @@
 | 
			
		||||
(The MIT License)
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2012 Federico Romero
 | 
			
		||||
Copyright (c) 2012-2014 Federico Romero
 | 
			
		||||
Copyright (c) 2012-2014 Isaac Z. Schlueter
 | 
			
		||||
Copyright (c) 2014-2015 Douglas Christopher Wilson
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining
 | 
			
		||||
a copy of this software and associated documentation files (the
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										84
									
								
								server/node_modules/express/node_modules/accepts/node_modules/negotiator/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										84
									
								
								server/node_modules/express/node_modules/accepts/node_modules/negotiator/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -44,13 +44,22 @@ You can check a working example at `examples/accept.js`.
 | 
			
		||||
 | 
			
		||||
#### Methods
 | 
			
		||||
 | 
			
		||||
##### mediaTypes(availableMediaTypes):
 | 
			
		||||
##### mediaType()
 | 
			
		||||
 | 
			
		||||
Returns an array of preferred media types ordered by priority from a list of available media types.
 | 
			
		||||
Returns the most preferred media type from the client.
 | 
			
		||||
 | 
			
		||||
##### mediaType(availableMediaType):
 | 
			
		||||
##### mediaType(availableMediaType)
 | 
			
		||||
 | 
			
		||||
Returns the top preferred media type from a list of available media types.
 | 
			
		||||
Returns the most preferred media type from a list of available media types.
 | 
			
		||||
 | 
			
		||||
##### mediaTypes()
 | 
			
		||||
 | 
			
		||||
Returns an array of preferred media types ordered by the client preference.
 | 
			
		||||
 | 
			
		||||
##### mediaTypes(availableMediaTypes)
 | 
			
		||||
 | 
			
		||||
Returns an array of preferred media types ordered by priority from a list of
 | 
			
		||||
available media types.
 | 
			
		||||
 | 
			
		||||
### Accept-Language Negotiation
 | 
			
		||||
 | 
			
		||||
@@ -75,13 +84,22 @@ You can check a working example at `examples/language.js`.
 | 
			
		||||
 | 
			
		||||
#### Methods
 | 
			
		||||
 | 
			
		||||
##### languages(availableLanguages):
 | 
			
		||||
##### language()
 | 
			
		||||
 | 
			
		||||
Returns an array of preferred languages ordered by priority from a list of available languages.
 | 
			
		||||
Returns the most preferred language from the client.
 | 
			
		||||
 | 
			
		||||
##### language(availableLanguages):
 | 
			
		||||
##### language(availableLanguages)
 | 
			
		||||
 | 
			
		||||
Returns the top preferred language from a list of available languages.
 | 
			
		||||
Returns the most preferred language from a list of available languages.
 | 
			
		||||
 | 
			
		||||
##### languages()
 | 
			
		||||
 | 
			
		||||
Returns an array of preferred languages ordered by the client preference.
 | 
			
		||||
 | 
			
		||||
##### languages(availableLanguages)
 | 
			
		||||
 | 
			
		||||
Returns an array of preferred languages ordered by priority from a list of
 | 
			
		||||
available languages.
 | 
			
		||||
 | 
			
		||||
### Accept-Charset Negotiation
 | 
			
		||||
 | 
			
		||||
@@ -106,13 +124,22 @@ You can check a working example at `examples/charset.js`.
 | 
			
		||||
 | 
			
		||||
#### Methods
 | 
			
		||||
 | 
			
		||||
##### charsets(availableCharsets):
 | 
			
		||||
##### charset()
 | 
			
		||||
 | 
			
		||||
Returns an array of preferred charsets ordered by priority from a list of available charsets.
 | 
			
		||||
Returns the most preferred charset from the client.
 | 
			
		||||
 | 
			
		||||
##### charset(availableCharsets):
 | 
			
		||||
##### charset(availableCharsets)
 | 
			
		||||
 | 
			
		||||
Returns the top preferred charset from a list of available charsets.
 | 
			
		||||
Returns the most preferred charset from a list of available charsets.
 | 
			
		||||
 | 
			
		||||
##### charsets()
 | 
			
		||||
 | 
			
		||||
Returns an array of preferred charsets ordered by the client preference.
 | 
			
		||||
 | 
			
		||||
##### charsets(availableCharsets)
 | 
			
		||||
 | 
			
		||||
Returns an array of preferred charsets ordered by priority from a list of
 | 
			
		||||
available charsets.
 | 
			
		||||
 | 
			
		||||
### Accept-Encoding Negotiation
 | 
			
		||||
 | 
			
		||||
@@ -137,25 +164,40 @@ You can check a working example at `examples/encoding.js`.
 | 
			
		||||
 | 
			
		||||
#### Methods
 | 
			
		||||
 | 
			
		||||
##### encodings(availableEncodings):
 | 
			
		||||
##### encoding()
 | 
			
		||||
 | 
			
		||||
Returns an array of preferred encodings ordered by priority from a list of available encodings.
 | 
			
		||||
Returns the most preferred encoding from the client.
 | 
			
		||||
 | 
			
		||||
##### encoding(availableEncodings):
 | 
			
		||||
##### encoding(availableEncodings)
 | 
			
		||||
 | 
			
		||||
Returns the top preferred encoding from a list of available encodings.
 | 
			
		||||
Returns the most preferred encoding from a list of available encodings.
 | 
			
		||||
 | 
			
		||||
##### encodings()
 | 
			
		||||
 | 
			
		||||
Returns an array of preferred encodings ordered by the client preference.
 | 
			
		||||
 | 
			
		||||
##### encodings(availableEncodings)
 | 
			
		||||
 | 
			
		||||
Returns an array of preferred encodings ordered by priority from a list of
 | 
			
		||||
available encodings.
 | 
			
		||||
 | 
			
		||||
## See Also
 | 
			
		||||
 | 
			
		||||
The [accepts](https://npmjs.org/package/accepts#readme) module builds on
 | 
			
		||||
this module and provides an alternative interface, mime type validation,
 | 
			
		||||
and more.
 | 
			
		||||
 | 
			
		||||
## License
 | 
			
		||||
 | 
			
		||||
[MIT](LICENSE)
 | 
			
		||||
 | 
			
		||||
[npm-image]: https://img.shields.io/npm/v/negotiator.svg?style=flat
 | 
			
		||||
[npm-image]: https://img.shields.io/npm/v/negotiator.svg
 | 
			
		||||
[npm-url]: https://npmjs.org/package/negotiator
 | 
			
		||||
[node-version-image]: https://img.shields.io/node/v/negotiator.svg?style=flat
 | 
			
		||||
[node-version-image]: https://img.shields.io/node/v/negotiator.svg
 | 
			
		||||
[node-version-url]: http://nodejs.org/download/
 | 
			
		||||
[travis-image]: https://img.shields.io/travis/jshttp/negotiator.svg?style=flat
 | 
			
		||||
[travis-image]: https://img.shields.io/travis/jshttp/negotiator/master.svg
 | 
			
		||||
[travis-url]: https://travis-ci.org/jshttp/negotiator
 | 
			
		||||
[coveralls-image]: https://img.shields.io/coveralls/jshttp/negotiator.svg?style=flat
 | 
			
		||||
[coveralls-image]: https://img.shields.io/coveralls/jshttp/negotiator/master.svg
 | 
			
		||||
[coveralls-url]: https://coveralls.io/r/jshttp/negotiator?branch=master
 | 
			
		||||
[downloads-image]: https://img.shields.io/npm/dm/negotiator.svg?style=flat
 | 
			
		||||
[downloads-image]: https://img.shields.io/npm/dm/negotiator.svg
 | 
			
		||||
[downloads-url]: https://npmjs.org/package/negotiator
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										89
									
								
								server/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/charset.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										89
									
								
								server/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/charset.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -2,11 +2,20 @@ module.exports = preferredCharsets;
 | 
			
		||||
preferredCharsets.preferredCharsets = preferredCharsets;
 | 
			
		||||
 | 
			
		||||
function parseAcceptCharset(accept) {
 | 
			
		||||
  return accept.split(',').map(function(e, i) {
 | 
			
		||||
    return parseCharset(e.trim(), i);
 | 
			
		||||
  }).filter(function(e) {
 | 
			
		||||
    return e;
 | 
			
		||||
  });
 | 
			
		||||
  var accepts = accept.split(',');
 | 
			
		||||
 | 
			
		||||
  for (var i = 0, j = 0; i < accepts.length; i++) {
 | 
			
		||||
    var charset = parseCharset(accepts[i].trim(), i);
 | 
			
		||||
 | 
			
		||||
    if (charset) {
 | 
			
		||||
      accepts[j++] = charset;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // trim accepts
 | 
			
		||||
  accepts.length = j;
 | 
			
		||||
 | 
			
		||||
  return accepts;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function parseCharset(s, i) {
 | 
			
		||||
@@ -33,19 +42,21 @@ function parseCharset(s, i) {
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function getCharsetPriority(charset, accepted) {
 | 
			
		||||
  return (accepted.map(function(a) {
 | 
			
		||||
    return specify(charset, a);
 | 
			
		||||
  }).filter(Boolean).sort(function (a, b) {
 | 
			
		||||
    if(a.s == b.s) {
 | 
			
		||||
      return a.q > b.q ? -1 : 1;
 | 
			
		||||
    } else {
 | 
			
		||||
      return a.s > b.s ? -1 : 1;
 | 
			
		||||
function getCharsetPriority(charset, accepted, index) {
 | 
			
		||||
  var priority = {o: -1, q: 0, s: 0};
 | 
			
		||||
 | 
			
		||||
  for (var i = 0; i < accepted.length; i++) {
 | 
			
		||||
    var spec = specify(charset, accepted[i], index);
 | 
			
		||||
 | 
			
		||||
    if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {
 | 
			
		||||
      priority = spec;
 | 
			
		||||
    }
 | 
			
		||||
  })[0] || {s: 0, q:0});
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return priority;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function specify(charset, spec) {
 | 
			
		||||
function specify(charset, spec, index) {
 | 
			
		||||
  var s = 0;
 | 
			
		||||
  if(spec.charset.toLowerCase() === charset.toLowerCase()){
 | 
			
		||||
    s |= 1;
 | 
			
		||||
@@ -54,34 +65,38 @@ function specify(charset, spec) {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    s: s,
 | 
			
		||||
    i: index,
 | 
			
		||||
    o: spec.i,
 | 
			
		||||
    q: spec.q,
 | 
			
		||||
    s: s
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function preferredCharsets(accept, provided) {
 | 
			
		||||
  // RFC 2616 sec 14.2: no header = *
 | 
			
		||||
  accept = parseAcceptCharset(accept === undefined ? '*' : accept || '');
 | 
			
		||||
  if (provided) {
 | 
			
		||||
    return provided.map(function(type) {
 | 
			
		||||
      return [type, getCharsetPriority(type, accept)];
 | 
			
		||||
    }).filter(function(pair) {
 | 
			
		||||
      return pair[1].q > 0;
 | 
			
		||||
    }).sort(function(a, b) {
 | 
			
		||||
      var pa = a[1];
 | 
			
		||||
      var pb = b[1];
 | 
			
		||||
      return (pb.q - pa.q) || (pb.s - pa.s) || (pa.i - pb.i);
 | 
			
		||||
    }).map(function(pair) {
 | 
			
		||||
      return pair[0];
 | 
			
		||||
    });
 | 
			
		||||
  } else {
 | 
			
		||||
    return accept.sort(function (a, b) {
 | 
			
		||||
      // revsort
 | 
			
		||||
      return (b.q - a.q) || (a.i - b.i);
 | 
			
		||||
    }).filter(function(type) {
 | 
			
		||||
      return type.q > 0;
 | 
			
		||||
    }).map(function(type) {
 | 
			
		||||
      return type.charset;
 | 
			
		||||
  var accepts = parseAcceptCharset(accept === undefined ? '*' : accept || '');
 | 
			
		||||
 | 
			
		||||
  if (!provided) {
 | 
			
		||||
    // sorted list of all charsets
 | 
			
		||||
    return accepts.filter(isQuality).sort(compareSpecs).map(function getCharset(spec) {
 | 
			
		||||
      return spec.charset;
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  var priorities = provided.map(function getPriority(type, index) {
 | 
			
		||||
    return getCharsetPriority(type, accepts, index);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  // sorted list of accepted charsets
 | 
			
		||||
  return priorities.filter(isQuality).sort(compareSpecs).map(function getCharset(priority) {
 | 
			
		||||
    return provided[priorities.indexOf(priority)];
 | 
			
		||||
  });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function compareSpecs(a, b) {
 | 
			
		||||
  return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isQuality(spec) {
 | 
			
		||||
  return spec.q > 0;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										115
									
								
								server/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/encoding.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										115
									
								
								server/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/encoding.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -2,41 +2,36 @@ module.exports = preferredEncodings;
 | 
			
		||||
preferredEncodings.preferredEncodings = preferredEncodings;
 | 
			
		||||
 | 
			
		||||
function parseAcceptEncoding(accept) {
 | 
			
		||||
  var acceptableEncodings;
 | 
			
		||||
  var accepts = accept.split(',');
 | 
			
		||||
  var hasIdentity = false;
 | 
			
		||||
  var minQuality = 1;
 | 
			
		||||
 | 
			
		||||
  if (accept) {
 | 
			
		||||
    acceptableEncodings = accept.split(',').map(function(e, i) {
 | 
			
		||||
      return parseEncoding(e.trim(), i);
 | 
			
		||||
    });
 | 
			
		||||
  } else {
 | 
			
		||||
    acceptableEncodings = [];
 | 
			
		||||
  for (var i = 0, j = 0; i < accepts.length; i++) {
 | 
			
		||||
    var encoding = parseEncoding(accepts[i].trim(), i);
 | 
			
		||||
 | 
			
		||||
    if (encoding) {
 | 
			
		||||
      accepts[j++] = encoding;
 | 
			
		||||
      hasIdentity = hasIdentity || specify('identity', encoding);
 | 
			
		||||
      minQuality = Math.min(minQuality, encoding.q || 1);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (!acceptableEncodings.some(function(e) {
 | 
			
		||||
    return e && specify('identity', e);
 | 
			
		||||
  })) {
 | 
			
		||||
  if (!hasIdentity) {
 | 
			
		||||
    /*
 | 
			
		||||
     * If identity doesn't explicitly appear in the accept-encoding header,
 | 
			
		||||
     * it's added to the list of acceptable encoding with the lowest q
 | 
			
		||||
     *
 | 
			
		||||
     */
 | 
			
		||||
    var lowestQ = 1;
 | 
			
		||||
 | 
			
		||||
    for(var i = 0; i < acceptableEncodings.length; i++){
 | 
			
		||||
      var e = acceptableEncodings[i];
 | 
			
		||||
      if(e && e.q < lowestQ){
 | 
			
		||||
        lowestQ = e.q;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    acceptableEncodings.push({
 | 
			
		||||
    accepts[j++] = {
 | 
			
		||||
      encoding: 'identity',
 | 
			
		||||
      q: lowestQ / 2,
 | 
			
		||||
    });
 | 
			
		||||
      q: minQuality,
 | 
			
		||||
      i: i
 | 
			
		||||
    };
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return acceptableEncodings.filter(function(e) {
 | 
			
		||||
    return e;
 | 
			
		||||
  });
 | 
			
		||||
  // trim accepts
 | 
			
		||||
  accepts.length = j;
 | 
			
		||||
 | 
			
		||||
  return accepts;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function parseEncoding(s, i) {
 | 
			
		||||
@@ -64,19 +59,21 @@ function parseEncoding(s, i) {
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function getEncodingPriority(encoding, accepted) {
 | 
			
		||||
  return (accepted.map(function(a) {
 | 
			
		||||
    return specify(encoding, a);
 | 
			
		||||
  }).filter(Boolean).sort(function (a, b) {
 | 
			
		||||
    if(a.s == b.s) {
 | 
			
		||||
      return a.q > b.q ? -1 : 1;
 | 
			
		||||
    } else {
 | 
			
		||||
      return a.s > b.s ? -1 : 1;
 | 
			
		||||
function getEncodingPriority(encoding, accepted, index) {
 | 
			
		||||
  var priority = {o: -1, q: 0, s: 0};
 | 
			
		||||
 | 
			
		||||
  for (var i = 0; i < accepted.length; i++) {
 | 
			
		||||
    var spec = specify(encoding, accepted[i], index);
 | 
			
		||||
 | 
			
		||||
    if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {
 | 
			
		||||
      priority = spec;
 | 
			
		||||
    }
 | 
			
		||||
  })[0] || {s: 0, q: 0});
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return priority;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function specify(encoding, spec) {
 | 
			
		||||
function specify(encoding, spec, index) {
 | 
			
		||||
  var s = 0;
 | 
			
		||||
  if(spec.encoding.toLowerCase() === encoding.toLowerCase()){
 | 
			
		||||
    s |= 1;
 | 
			
		||||
@@ -85,33 +82,37 @@ function specify(encoding, spec) {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    s: s,
 | 
			
		||||
    i: index,
 | 
			
		||||
    o: spec.i,
 | 
			
		||||
    q: spec.q,
 | 
			
		||||
    s: s
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function preferredEncodings(accept, provided) {
 | 
			
		||||
  accept = parseAcceptEncoding(accept || '');
 | 
			
		||||
  if (provided) {
 | 
			
		||||
    return provided.map(function(type) {
 | 
			
		||||
      return [type, getEncodingPriority(type, accept)];
 | 
			
		||||
    }).filter(function(pair) {
 | 
			
		||||
      return pair[1].q > 0;
 | 
			
		||||
    }).sort(function(a, b) {
 | 
			
		||||
      var pa = a[1];
 | 
			
		||||
      var pb = b[1];
 | 
			
		||||
      return (pb.q - pa.q) || (pb.s - pa.s) || (pa.i - pb.i);
 | 
			
		||||
    }).map(function(pair) {
 | 
			
		||||
      return pair[0];
 | 
			
		||||
    });
 | 
			
		||||
  } else {
 | 
			
		||||
    return accept.sort(function (a, b) {
 | 
			
		||||
      // revsort
 | 
			
		||||
      return (b.q - a.q) || (a.i - b.i);
 | 
			
		||||
    }).filter(function(type){
 | 
			
		||||
      return type.q > 0;
 | 
			
		||||
    }).map(function(type) {
 | 
			
		||||
      return type.encoding;
 | 
			
		||||
  var accepts = parseAcceptEncoding(accept || '');
 | 
			
		||||
 | 
			
		||||
  if (!provided) {
 | 
			
		||||
    // sorted list of all encodings
 | 
			
		||||
    return accepts.filter(isQuality).sort(compareSpecs).map(function getEncoding(spec) {
 | 
			
		||||
      return spec.encoding;
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  var priorities = provided.map(function getPriority(type, index) {
 | 
			
		||||
    return getEncodingPriority(type, accepts, index);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  // sorted list of accepted encodings
 | 
			
		||||
  return priorities.filter(isQuality).sort(compareSpecs).map(function getEncoding(priority) {
 | 
			
		||||
    return provided[priorities.indexOf(priority)];
 | 
			
		||||
  });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function compareSpecs(a, b) {
 | 
			
		||||
  return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isQuality(spec) {
 | 
			
		||||
  return spec.q > 0;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										90
									
								
								server/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/language.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										90
									
								
								server/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/language.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -2,11 +2,20 @@ module.exports = preferredLanguages;
 | 
			
		||||
preferredLanguages.preferredLanguages = preferredLanguages;
 | 
			
		||||
 | 
			
		||||
function parseAcceptLanguage(accept) {
 | 
			
		||||
  return accept.split(',').map(function(e, i) {
 | 
			
		||||
    return parseLanguage(e.trim(), i);
 | 
			
		||||
  }).filter(function(e) {
 | 
			
		||||
    return e;
 | 
			
		||||
  });
 | 
			
		||||
  var accepts = accept.split(',');
 | 
			
		||||
 | 
			
		||||
  for (var i = 0, j = 0; i < accepts.length; i++) {
 | 
			
		||||
    var langauge = parseLanguage(accepts[i].trim(), i);
 | 
			
		||||
 | 
			
		||||
    if (langauge) {
 | 
			
		||||
      accepts[j++] = langauge;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // trim accepts
 | 
			
		||||
  accepts.length = j;
 | 
			
		||||
 | 
			
		||||
  return accepts;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function parseLanguage(s, i) {
 | 
			
		||||
@@ -37,19 +46,21 @@ function parseLanguage(s, i) {
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function getLanguagePriority(language, accepted) {
 | 
			
		||||
  return (accepted.map(function(a){
 | 
			
		||||
    return specify(language, a);
 | 
			
		||||
  }).filter(Boolean).sort(function (a, b) {
 | 
			
		||||
    if(a.s == b.s) {
 | 
			
		||||
      return a.q > b.q ? -1 : 1;
 | 
			
		||||
    } else {
 | 
			
		||||
      return a.s > b.s ? -1 : 1;
 | 
			
		||||
function getLanguagePriority(language, accepted, index) {
 | 
			
		||||
  var priority = {o: -1, q: 0, s: 0};
 | 
			
		||||
 | 
			
		||||
  for (var i = 0; i < accepted.length; i++) {
 | 
			
		||||
    var spec = specify(language, accepted[i], index);
 | 
			
		||||
 | 
			
		||||
    if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {
 | 
			
		||||
      priority = spec;
 | 
			
		||||
    }
 | 
			
		||||
  })[0] || {s: 0, q: 0});
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return priority;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function specify(language, spec) {
 | 
			
		||||
function specify(language, spec, index) {
 | 
			
		||||
  var p = parseLanguage(language)
 | 
			
		||||
  if (!p) return null;
 | 
			
		||||
  var s = 0;
 | 
			
		||||
@@ -64,37 +75,38 @@ function specify(language, spec) {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    s: s,
 | 
			
		||||
    i: index,
 | 
			
		||||
    o: spec.i,
 | 
			
		||||
    q: spec.q,
 | 
			
		||||
    s: s
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function preferredLanguages(accept, provided) {
 | 
			
		||||
  // RFC 2616 sec 14.4: no header = *
 | 
			
		||||
  accept = parseAcceptLanguage(accept === undefined ? '*' : accept || '');
 | 
			
		||||
  if (provided) {
 | 
			
		||||
  var accepts = parseAcceptLanguage(accept === undefined ? '*' : accept || '');
 | 
			
		||||
 | 
			
		||||
    var ret = provided.map(function(type) {
 | 
			
		||||
      return [type, getLanguagePriority(type, accept)];
 | 
			
		||||
    }).filter(function(pair) {
 | 
			
		||||
      return pair[1].q > 0;
 | 
			
		||||
    }).sort(function(a, b) {
 | 
			
		||||
      var pa = a[1];
 | 
			
		||||
      var pb = b[1];
 | 
			
		||||
      return (pb.q - pa.q) || (pb.s - pa.s) || (pa.i - pb.i);
 | 
			
		||||
    }).map(function(pair) {
 | 
			
		||||
      return pair[0];
 | 
			
		||||
    });
 | 
			
		||||
    return ret;
 | 
			
		||||
 | 
			
		||||
  } else {
 | 
			
		||||
    return accept.sort(function (a, b) {
 | 
			
		||||
      // revsort
 | 
			
		||||
      return (b.q - a.q) || (a.i - b.i);
 | 
			
		||||
    }).filter(function(type) {
 | 
			
		||||
      return type.q > 0;
 | 
			
		||||
    }).map(function(type) {
 | 
			
		||||
      return type.full;
 | 
			
		||||
  if (!provided) {
 | 
			
		||||
    // sorted list of all languages
 | 
			
		||||
    return accepts.filter(isQuality).sort(compareSpecs).map(function getLanguage(spec) {
 | 
			
		||||
      return spec.full;
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  var priorities = provided.map(function getPriority(type, index) {
 | 
			
		||||
    return getLanguagePriority(type, accepts, index);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  // sorted list of accepted languages
 | 
			
		||||
  return priorities.filter(isQuality).sort(compareSpecs).map(function getLanguage(priority) {
 | 
			
		||||
    return provided[priorities.indexOf(priority)];
 | 
			
		||||
  });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function compareSpecs(a, b) {
 | 
			
		||||
  return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isQuality(spec) {
 | 
			
		||||
  return spec.q > 0;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										133
									
								
								server/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/mediaType.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										133
									
								
								server/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/mediaType.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,12 +1,29 @@
 | 
			
		||||
/**
 | 
			
		||||
 * negotiator
 | 
			
		||||
 * Copyright(c) 2012 Isaac Z. Schlueter
 | 
			
		||||
 * Copyright(c) 2014 Federico Romero
 | 
			
		||||
 * Copyright(c) 2014-2015 Douglas Christopher Wilson
 | 
			
		||||
 * MIT Licensed
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
module.exports = preferredMediaTypes;
 | 
			
		||||
preferredMediaTypes.preferredMediaTypes = preferredMediaTypes;
 | 
			
		||||
 | 
			
		||||
function parseAccept(accept) {
 | 
			
		||||
  return accept.split(',').map(function(e, i) {
 | 
			
		||||
    return parseMediaType(e.trim(), i);
 | 
			
		||||
  }).filter(function(e) {
 | 
			
		||||
    return e;
 | 
			
		||||
  });
 | 
			
		||||
  var accepts = splitMediaTypes(accept);
 | 
			
		||||
 | 
			
		||||
  for (var i = 0, j = 0; i < accepts.length; i++) {
 | 
			
		||||
    var mediaType = parseMediaType(accepts[i].trim(), i);
 | 
			
		||||
 | 
			
		||||
    if (mediaType) {
 | 
			
		||||
      accepts[j++] = mediaType;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // trim accepts
 | 
			
		||||
  accepts.length = j;
 | 
			
		||||
 | 
			
		||||
  return accepts;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function parseMediaType(s, i) {
 | 
			
		||||
@@ -23,8 +40,14 @@ function parseMediaType(s, i) {
 | 
			
		||||
    params = match[3].split(';').map(function(s) {
 | 
			
		||||
      return s.trim().split('=');
 | 
			
		||||
    }).reduce(function (set, p) {
 | 
			
		||||
      set[p[0]] = p[1];
 | 
			
		||||
      return set
 | 
			
		||||
      var name = p[0].toLowerCase();
 | 
			
		||||
      var value = p[1];
 | 
			
		||||
 | 
			
		||||
      set[name] = value && value[0] === '"' && value[value.length - 1] === '"'
 | 
			
		||||
        ? value.substr(1, value.length - 2)
 | 
			
		||||
        : value;
 | 
			
		||||
 | 
			
		||||
      return set;
 | 
			
		||||
    }, params);
 | 
			
		||||
 | 
			
		||||
    if (params.q != null) {
 | 
			
		||||
@@ -43,19 +66,21 @@ function parseMediaType(s, i) {
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function getMediaTypePriority(type, accepted) {
 | 
			
		||||
  return (accepted.map(function(a) {
 | 
			
		||||
    return specify(type, a);
 | 
			
		||||
  }).filter(Boolean).sort(function (a, b) {
 | 
			
		||||
    if(a.s == b.s) {
 | 
			
		||||
      return a.q > b.q ? -1 : 1;
 | 
			
		||||
    } else {
 | 
			
		||||
      return a.s > b.s ? -1 : 1;
 | 
			
		||||
function getMediaTypePriority(type, accepted, index) {
 | 
			
		||||
  var priority = {o: -1, q: 0, s: 0};
 | 
			
		||||
 | 
			
		||||
  for (var i = 0; i < accepted.length; i++) {
 | 
			
		||||
    var spec = specify(type, accepted[i], index);
 | 
			
		||||
 | 
			
		||||
    if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {
 | 
			
		||||
      priority = spec;
 | 
			
		||||
    }
 | 
			
		||||
  })[0] || {s: 0, q: 0});
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return priority;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function specify(type, spec) {
 | 
			
		||||
function specify(type, spec, index) {
 | 
			
		||||
  var p = parseMediaType(type);
 | 
			
		||||
  var s = 0;
 | 
			
		||||
 | 
			
		||||
@@ -87,6 +112,8 @@ function specify(type, spec) {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    i: index,
 | 
			
		||||
    o: spec.i,
 | 
			
		||||
    q: spec.q,
 | 
			
		||||
    s: s,
 | 
			
		||||
  }
 | 
			
		||||
@@ -95,28 +122,58 @@ function specify(type, spec) {
 | 
			
		||||
 | 
			
		||||
function preferredMediaTypes(accept, provided) {
 | 
			
		||||
  // RFC 2616 sec 14.2: no header = */*
 | 
			
		||||
  accept = parseAccept(accept === undefined ? '*/*' : accept || '');
 | 
			
		||||
  if (provided) {
 | 
			
		||||
    return provided.map(function(type) {
 | 
			
		||||
      return [type, getMediaTypePriority(type, accept)];
 | 
			
		||||
    }).filter(function(pair) {
 | 
			
		||||
      return pair[1].q > 0;
 | 
			
		||||
    }).sort(function(a, b) {
 | 
			
		||||
      var pa = a[1];
 | 
			
		||||
      var pb = b[1];
 | 
			
		||||
      return (pb.q - pa.q) || (pb.s - pa.s) || (pa.i - pb.i);
 | 
			
		||||
    }).map(function(pair) {
 | 
			
		||||
      return pair[0];
 | 
			
		||||
    });
 | 
			
		||||
  var accepts = parseAccept(accept === undefined ? '*/*' : accept || '');
 | 
			
		||||
 | 
			
		||||
  } else {
 | 
			
		||||
    return accept.sort(function (a, b) {
 | 
			
		||||
      // revsort
 | 
			
		||||
      return (b.q - a.q) || (a.i - b.i);
 | 
			
		||||
    }).filter(function(type) {
 | 
			
		||||
      return type.q > 0;
 | 
			
		||||
    }).map(function(type) {
 | 
			
		||||
      return type.full;
 | 
			
		||||
  if (!provided) {
 | 
			
		||||
    // sorted list of all types
 | 
			
		||||
    return accepts.filter(isQuality).sort(compareSpecs).map(function getType(spec) {
 | 
			
		||||
      return spec.full;
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  var priorities = provided.map(function getPriority(type, index) {
 | 
			
		||||
    return getMediaTypePriority(type, accepts, index);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  // sorted list of accepted types
 | 
			
		||||
  return priorities.filter(isQuality).sort(compareSpecs).map(function getType(priority) {
 | 
			
		||||
    return provided[priorities.indexOf(priority)];
 | 
			
		||||
  });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function compareSpecs(a, b) {
 | 
			
		||||
  return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isQuality(spec) {
 | 
			
		||||
  return spec.q > 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function quoteCount(string) {
 | 
			
		||||
  var count = 0;
 | 
			
		||||
  var index = 0;
 | 
			
		||||
 | 
			
		||||
  while ((index = string.indexOf('"', index)) !== -1) {
 | 
			
		||||
    count++;
 | 
			
		||||
    index++;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function splitMediaTypes(accept) {
 | 
			
		||||
  var accepts = accept.split(',');
 | 
			
		||||
 | 
			
		||||
  for (var i = 1, j = 0; i < accepts.length; i++) {
 | 
			
		||||
    if (quoteCount(accepts[j]) % 2 == 0) {
 | 
			
		||||
      accepts[++j] = accepts[i];
 | 
			
		||||
    } else {
 | 
			
		||||
      accepts[j] += ',' + accepts[i];
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // trim accepts
 | 
			
		||||
  accepts.length = j + 1;
 | 
			
		||||
 | 
			
		||||
  return accepts;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,37 +0,0 @@
 | 
			
		||||
module.exports = Negotiator;
 | 
			
		||||
Negotiator.Negotiator = Negotiator;
 | 
			
		||||
 | 
			
		||||
function Negotiator(request) {
 | 
			
		||||
  if (!(this instanceof Negotiator)) return new Negotiator(request);
 | 
			
		||||
  this.request = request;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var set = { charset: 'accept-charset',
 | 
			
		||||
            encoding: 'accept-encoding',
 | 
			
		||||
            language: 'accept-language',
 | 
			
		||||
            mediaType: 'accept' };
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function capitalize(string){
 | 
			
		||||
  return string.charAt(0).toUpperCase() + string.slice(1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Object.keys(set).forEach(function (k) {
 | 
			
		||||
  var header = set[k],
 | 
			
		||||
      method = require('./'+k+'.js'),
 | 
			
		||||
      singular = k,
 | 
			
		||||
      plural = k + 's';
 | 
			
		||||
 | 
			
		||||
  Negotiator.prototype[plural] = function (available) {
 | 
			
		||||
    return method(this.request.headers[header], available);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  Negotiator.prototype[singular] = function(available) {
 | 
			
		||||
    var set = this[plural](available);
 | 
			
		||||
    if (set) return set[0];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  // Keep preferred* methods for legacy compatibility
 | 
			
		||||
  Negotiator.prototype['preferred'+capitalize(plural)] = Negotiator.prototype[plural];
 | 
			
		||||
  Negotiator.prototype['preferred'+capitalize(singular)] = Negotiator.prototype[singular];
 | 
			
		||||
})
 | 
			
		||||
							
								
								
									
										83
									
								
								server/node_modules/express/node_modules/accepts/node_modules/negotiator/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										83
									
								
								server/node_modules/express/node_modules/accepts/node_modules/negotiator/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										80
									
								
								server/node_modules/express/node_modules/accepts/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										80
									
								
								server/node_modules/express/node_modules/accepts/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,24 +1,30 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "accepts",
 | 
			
		||||
  "description": "Higher-level content negotiation",
 | 
			
		||||
  "version": "1.1.4",
 | 
			
		||||
  "author": {
 | 
			
		||||
    "name": "Jonathan Ong",
 | 
			
		||||
    "email": "me@jongleberry.com",
 | 
			
		||||
    "url": "http://jongleberry.com"
 | 
			
		||||
  },
 | 
			
		||||
  "version": "1.2.9",
 | 
			
		||||
  "contributors": [
 | 
			
		||||
    {
 | 
			
		||||
      "name": "Douglas Christopher Wilson",
 | 
			
		||||
      "email": "doug@somethingdoug.com"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "Jonathan Ong",
 | 
			
		||||
      "email": "me@jongleberry.com",
 | 
			
		||||
      "url": "http://jongleberry.com"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "license": "MIT",
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "https://github.com/jshttp/accepts"
 | 
			
		||||
    "url": "git://github.com/jshttp/accepts"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "mime-types": "~2.0.4",
 | 
			
		||||
    "negotiator": "0.4.9"
 | 
			
		||||
    "mime-types": "~2.1.1",
 | 
			
		||||
    "negotiator": "0.5.3"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "istanbul": "~0.3.4",
 | 
			
		||||
    "mocha": "~2.0.1"
 | 
			
		||||
    "istanbul": "0.3.14",
 | 
			
		||||
    "mocha": "~1.21.5"
 | 
			
		||||
  },
 | 
			
		||||
  "files": [
 | 
			
		||||
    "LICENSE",
 | 
			
		||||
@@ -26,7 +32,7 @@
 | 
			
		||||
    "index.js"
 | 
			
		||||
  ],
 | 
			
		||||
  "engines": {
 | 
			
		||||
    "node": ">= 0.8"
 | 
			
		||||
    "node": ">= 0.6"
 | 
			
		||||
  },
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "test": "mocha --reporter spec --check-leaks --bail test/",
 | 
			
		||||
@@ -39,53 +45,15 @@
 | 
			
		||||
    "accept",
 | 
			
		||||
    "accepts"
 | 
			
		||||
  ],
 | 
			
		||||
  "gitHead": "df66414d80f096627b28f137127fce0a851d7900",
 | 
			
		||||
  "readme": "# accepts\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nHigher level content negotiation based on [negotiator](https://www.npmjs.com/package/negotiator). Extracted from [koa](https://www.npmjs.com/package/koa) for general use.\n\nIn addition to negotiator, it allows:\n\n- Allows types as an array or arguments list, ie `(['text/html', 'application/json'])` as well as `('text/html', 'application/json')`.\n- Allows type shorthands such as `json`.\n- Returns `false` when no types match\n- Treats non-existent headers as `*`\n\n## Installation\n\n```sh\nnpm install accepts\n```\n\n## API\n\n```js\nvar accepts = require('accepts')\n```\n\n### accepts(req)\n\nCreate a new `Accepts` object for the given `req`.\n\n#### .charset(charsets)\n\nReturn the first accepted charset. If nothing in `charsets` is accepted,\nthen `false` is returned.\n\n#### .charsets()\n\nReturn the charsets that the request accepts, in the order of the client's\npreference (most preferred first).\n\n#### .encoding(encodings)\n\nReturn the first accepted encoding. If nothing in `encodings` is accepted,\nthen `false` is returned.\n\n#### .encodings()\n\nReturn the encodings that the request accepts, in the order of the client's\npreference (most preferred first).\n\n#### .language(languages)\n\nReturn the first accepted language. If nothing in `languages` is accepted,\nthen `false` is returned.\n\n#### .languages()\n\nReturn the languages that the request accepts, in the order of the client's\npreference (most preferred first).\n\n#### .type(types)\n\nReturn the first accepted type (and it is returned as the same text as what\nappears in the `types` array). If nothing in `types` is accepted, then `false`\nis returned.\n\nThe `types` array can contain full MIME types or file extensions. Any value\nthat is not a full MIME types is passed to `require('mime-types').lookup`.\n\n#### .types()\n\nReturn the types that the request accepts, in the order of the client's\npreference (most preferred first).\n\n## Examples\n\n### Simple type negotiation\n\nThis simple example shows how to use `accepts` to return a different typed\nrespond body based on what the client wants to accept. The server lists it's\npreferences in order and will get back the best match between the client and\nserver.\n\n```js\nvar accepts = require('accepts')\nvar http = require('http')\n\nfunction app(req, res) {\n  var accept = accepts(req)\n\n  // the order of this list is significant; should be server preferred order\n  switch(accept.type(['json', 'html'])) {\n    case 'json':\n      res.setHeader('Content-Type', 'application/json')\n      res.write('{\"hello\":\"world!\"}')\n      break\n    case 'html':\n      res.setHeader('Content-Type', 'text/html')\n      res.write('<b>hello, world!</b>')\n      break\n    default:\n      // the fallback is text/plain, so no need to specify it above\n      res.setHeader('Content-Type', 'text/plain')\n      res.write('hello, world!')\n      break\n  }\n\n  res.end()\n}\n\nhttp.createServer(app).listen(3000)\n```\n\nYou can test this out with the cURL program:\n```sh\ncurl -I -H'Accept: text/html' http://localhost:3000/\n```\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/accepts.svg\n[npm-url]: https://npmjs.org/package/accepts\n[node-version-image]: https://img.shields.io/node/v/accepts.svg\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/accepts/master.svg\n[travis-url]: https://travis-ci.org/jshttp/accepts\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/accepts/master.svg\n[coveralls-url]: https://coveralls.io/r/jshttp/accepts\n[downloads-image]: https://img.shields.io/npm/dm/accepts.svg\n[downloads-url]: https://npmjs.org/package/accepts\n",
 | 
			
		||||
  "readmeFilename": "README.md",
 | 
			
		||||
  "bugs": {
 | 
			
		||||
    "url": "https://github.com/jshttp/accepts/issues"
 | 
			
		||||
  },
 | 
			
		||||
  "homepage": "https://github.com/jshttp/accepts",
 | 
			
		||||
  "_id": "accepts@1.1.4",
 | 
			
		||||
  "_shasum": "d71c96f7d41d0feda2c38cd14e8a27c04158df4a",
 | 
			
		||||
  "_from": "accepts@~1.1.3",
 | 
			
		||||
  "_npmVersion": "1.4.21",
 | 
			
		||||
  "_npmUser": {
 | 
			
		||||
    "name": "dougwilson",
 | 
			
		||||
    "email": "doug@somethingdoug.com"
 | 
			
		||||
  },
 | 
			
		||||
  "maintainers": [
 | 
			
		||||
    {
 | 
			
		||||
      "name": "jongleberry",
 | 
			
		||||
      "email": "jonathanrichardong@gmail.com"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "federomero",
 | 
			
		||||
      "email": "federomero@gmail.com"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "dougwilson",
 | 
			
		||||
      "email": "doug@somethingdoug.com"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "tjholowaychuk",
 | 
			
		||||
      "email": "tj@vision-media.ca"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "shtylman",
 | 
			
		||||
      "email": "shtylman@gmail.com"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "mscdex",
 | 
			
		||||
      "email": "mscdex@mscdex.net"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "fishrock123",
 | 
			
		||||
      "email": "fishrock123@rocketmail.com"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "_id": "accepts@1.2.9",
 | 
			
		||||
  "dist": {
 | 
			
		||||
    "shasum": "d71c96f7d41d0feda2c38cd14e8a27c04158df4a",
 | 
			
		||||
    "tarball": "http://registry.npmjs.org/accepts/-/accepts-1.1.4.tgz"
 | 
			
		||||
    "shasum": "78c123eccee774e07d283f201b3227b2a6676658"
 | 
			
		||||
  },
 | 
			
		||||
  "directories": {},
 | 
			
		||||
  "_resolved": "https://registry.npmjs.org/accepts/-/accepts-1.1.4.tgz"
 | 
			
		||||
  "_from": "accepts@~1.2.7",
 | 
			
		||||
  "_resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.9.tgz"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/content-disposition/HISTORY.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/content-disposition/HISTORY.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/content-disposition/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/content-disposition/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/content-disposition/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/content-disposition/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/content-disposition/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/content-disposition/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										27
									
								
								server/node_modules/express/node_modules/content-disposition/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										27
									
								
								server/node_modules/express/node_modules/content-disposition/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/cookie-signature/.npmignore
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/cookie-signature/.npmignore
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										13
									
								
								server/node_modules/express/node_modules/cookie-signature/History.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										13
									
								
								server/node_modules/express/node_modules/cookie-signature/History.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,9 +1,20 @@
 | 
			
		||||
1.0.6 / 2015-02-03
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
* use `npm test` instead of `make test` to run tests
 | 
			
		||||
* clearer assertion messages when checking input
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
1.0.5 / 2014-09-05
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
* add license to package.json
 | 
			
		||||
 | 
			
		||||
1.0.4 / 2014-06-25
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 * corrected avoidance of timing attacks (thanks @tenbits!)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
1.0.3 / 2014-01-28
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								server/node_modules/express/node_modules/cookie-signature/Makefile
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								server/node_modules/express/node_modules/cookie-signature/Makefile
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,7 +0,0 @@
 | 
			
		||||
 | 
			
		||||
test:
 | 
			
		||||
	@./node_modules/.bin/mocha \
 | 
			
		||||
		--require should \
 | 
			
		||||
		--reporter spec
 | 
			
		||||
 | 
			
		||||
.PHONY: test
 | 
			
		||||
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/cookie-signature/Readme.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/cookie-signature/Readme.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										8
									
								
								server/node_modules/express/node_modules/cookie-signature/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										8
									
								
								server/node_modules/express/node_modules/cookie-signature/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -14,8 +14,8 @@ var crypto = require('crypto');
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
exports.sign = function(val, secret){
 | 
			
		||||
  if ('string' != typeof val) throw new TypeError('cookie required');
 | 
			
		||||
  if ('string' != typeof secret) throw new TypeError('secret required');
 | 
			
		||||
  if ('string' != typeof val) throw new TypeError("Cookie value must be provided as a string.");
 | 
			
		||||
  if ('string' != typeof secret) throw new TypeError("Secret string must be provided.");
 | 
			
		||||
  return val + '.' + crypto
 | 
			
		||||
    .createHmac('sha256', secret)
 | 
			
		||||
    .update(val)
 | 
			
		||||
@@ -34,8 +34,8 @@ exports.sign = function(val, secret){
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
exports.unsign = function(val, secret){
 | 
			
		||||
  if ('string' != typeof val) throw new TypeError('cookie required');
 | 
			
		||||
  if ('string' != typeof secret) throw new TypeError('secret required');
 | 
			
		||||
  if ('string' != typeof val) throw new TypeError("Signed cookie string must be provided.");
 | 
			
		||||
  if ('string' != typeof secret) throw new TypeError("Secret string must be provided.");
 | 
			
		||||
  var str = val.slice(0, val.lastIndexOf('.'))
 | 
			
		||||
    , mac = exports.sign(str, secret);
 | 
			
		||||
  
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										37
									
								
								server/node_modules/express/node_modules/cookie-signature/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										37
									
								
								server/node_modules/express/node_modules/cookie-signature/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "cookie-signature",
 | 
			
		||||
  "version": "1.0.5",
 | 
			
		||||
  "version": "1.0.6",
 | 
			
		||||
  "description": "Sign and unsign cookies",
 | 
			
		||||
  "keywords": [
 | 
			
		||||
    "cookie",
 | 
			
		||||
@@ -21,36 +21,15 @@
 | 
			
		||||
    "mocha": "*",
 | 
			
		||||
    "should": "*"
 | 
			
		||||
  },
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "test": "mocha --require should --reporter spec"
 | 
			
		||||
  },
 | 
			
		||||
  "main": "index",
 | 
			
		||||
  "gitHead": "73ed69b511b3ef47555d71b4ed1deea9e5ed6e1f",
 | 
			
		||||
  "readme": "\n# cookie-signature\n\n  Sign and unsign cookies.\n\n## Example\n\n```js\nvar cookie = require('cookie-signature');\n\nvar val = cookie.sign('hello', 'tobiiscool');\nval.should.equal('hello.DGDUkGlIkCzPz+C0B064FNgHdEjox7ch8tOBGslZ5QI');\n\nvar val = cookie.sign('hello', 'tobiiscool');\ncookie.unsign(val, 'tobiiscool').should.equal('hello');\ncookie.unsign(val, 'luna').should.be.false;\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 LearnBoost <tj@learnboost.com>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
 | 
			
		||||
  "readmeFilename": "Readme.md",
 | 
			
		||||
  "bugs": {
 | 
			
		||||
    "url": "https://github.com/visionmedia/node-cookie-signature/issues"
 | 
			
		||||
  },
 | 
			
		||||
  "homepage": "https://github.com/visionmedia/node-cookie-signature",
 | 
			
		||||
  "_id": "cookie-signature@1.0.5",
 | 
			
		||||
  "scripts": {},
 | 
			
		||||
  "_shasum": "a122e3f1503eca0f5355795b0711bb2368d450f9",
 | 
			
		||||
  "_from": "cookie-signature@1.0.5",
 | 
			
		||||
  "_npmVersion": "1.4.20",
 | 
			
		||||
  "_npmUser": {
 | 
			
		||||
    "name": "natevw",
 | 
			
		||||
    "email": "natevw@yahoo.com"
 | 
			
		||||
  },
 | 
			
		||||
  "maintainers": [
 | 
			
		||||
    {
 | 
			
		||||
      "name": "tjholowaychuk",
 | 
			
		||||
      "email": "tj@vision-media.ca"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "natevw",
 | 
			
		||||
      "email": "natevw@yahoo.com"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "dist": {
 | 
			
		||||
    "shasum": "a122e3f1503eca0f5355795b0711bb2368d450f9",
 | 
			
		||||
    "tarball": "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.5.tgz"
 | 
			
		||||
  },
 | 
			
		||||
  "directories": {},
 | 
			
		||||
  "_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.5.tgz",
 | 
			
		||||
  "readme": "ERROR: No README data found!"
 | 
			
		||||
  "_id": "cookie-signature@1.0.6",
 | 
			
		||||
  "_from": "cookie-signature@1.0.6"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/cookie/.npmignore
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/cookie/.npmignore
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/cookie/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/cookie/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/cookie/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/cookie/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/cookie/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/cookie/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										22
									
								
								server/node_modules/express/node_modules/cookie/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										22
									
								
								server/node_modules/express/node_modules/cookie/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -26,29 +26,15 @@
 | 
			
		||||
  "engines": {
 | 
			
		||||
    "node": "*"
 | 
			
		||||
  },
 | 
			
		||||
  "readme": "# cookie [](http://travis-ci.org/defunctzombie/node-cookie) #\n\ncookie is a basic cookie parser and serializer. It doesn't make assumptions about how you are going to deal with your cookies. It basically just provides a way to read and write the HTTP cookie headers.\n\nSee [RFC6265](http://tools.ietf.org/html/rfc6265) for details about the http header for cookies.\n\n## how?\n\n```\nnpm install cookie\n```\n\n```javascript\nvar cookie = require('cookie');\n\nvar hdr = cookie.serialize('foo', 'bar');\n// hdr = 'foo=bar';\n\nvar cookies = cookie.parse('foo=bar; cat=meow; dog=ruff');\n// cookies = { foo: 'bar', cat: 'meow', dog: 'ruff' };\n```\n\n## more\n\nThe serialize function takes a third parameter, an object, to set cookie options. See the RFC for valid values.\n\n### path\n> cookie path\n\n### expires\n> absolute expiration date for the cookie (Date object)\n\n### maxAge\n> relative max age of the cookie from when the client receives it (seconds)\n\n### domain\n> domain for the cookie\n\n### secure\n> true or false\n\n### httpOnly\n> true or false\n\n",
 | 
			
		||||
  "readmeFilename": "README.md",
 | 
			
		||||
  "bugs": {
 | 
			
		||||
    "url": "https://github.com/shtylman/node-cookie/issues"
 | 
			
		||||
  },
 | 
			
		||||
  "homepage": "https://github.com/shtylman/node-cookie",
 | 
			
		||||
  "_id": "cookie@0.1.2",
 | 
			
		||||
  "dist": {
 | 
			
		||||
    "shasum": "72fec3d24e48a3432073d90c12642005061004b1",
 | 
			
		||||
    "tarball": "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz"
 | 
			
		||||
    "shasum": "1eef0dec7e54f653c66b69d1428efc5e3c52c0ef"
 | 
			
		||||
  },
 | 
			
		||||
  "_from": "cookie@0.1.2",
 | 
			
		||||
  "_npmVersion": "1.4.6",
 | 
			
		||||
  "_npmUser": {
 | 
			
		||||
    "name": "shtylman",
 | 
			
		||||
    "email": "shtylman@gmail.com"
 | 
			
		||||
  },
 | 
			
		||||
  "maintainers": [
 | 
			
		||||
    {
 | 
			
		||||
      "name": "shtylman",
 | 
			
		||||
      "email": "shtylman@gmail.com"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "directories": {},
 | 
			
		||||
  "_shasum": "72fec3d24e48a3432073d90c12642005061004b1",
 | 
			
		||||
  "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz",
 | 
			
		||||
  "readme": "ERROR: No README data found!"
 | 
			
		||||
  "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/debug/.jshintrc
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/debug/.jshintrc
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/debug/.npmignore
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/debug/.npmignore
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										9
									
								
								server/node_modules/express/node_modules/debug/History.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										9
									
								
								server/node_modules/express/node_modules/debug/History.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,4 +1,13 @@
 | 
			
		||||
 | 
			
		||||
2.2.0 / 2015-05-09
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * package: update "ms" to v0.7.1 (#202, @dougwilson)
 | 
			
		||||
  * README: add logging to file example (#193, @DanielOchoa)
 | 
			
		||||
  * README: fixed a typo (#191, @amir-s)
 | 
			
		||||
  * browser: expose `storage` (#190, @stephenmathieson)
 | 
			
		||||
  * Makefile: add a `distclean` target (#189, @stephenmathieson)
 | 
			
		||||
 | 
			
		||||
2.1.3 / 2015-03-13
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								server/node_modules/express/node_modules/debug/Makefile
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										7
									
								
								server/node_modules/express/node_modules/debug/Makefile
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -16,7 +16,7 @@ all: dist/debug.js
 | 
			
		||||
install: node_modules
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	@rm -rf node_modules dist
 | 
			
		||||
	@rm -rf dist
 | 
			
		||||
 | 
			
		||||
dist:
 | 
			
		||||
	@mkdir -p $@
 | 
			
		||||
@@ -26,8 +26,11 @@ dist/debug.js: node_modules browser.js debug.js dist
 | 
			
		||||
		--standalone debug \
 | 
			
		||||
		. > $@
 | 
			
		||||
 | 
			
		||||
distclean: clean
 | 
			
		||||
	@rm -rf node_modules
 | 
			
		||||
 | 
			
		||||
node_modules: package.json
 | 
			
		||||
	@NODE_ENV= $(NPM) install
 | 
			
		||||
	@touch node_modules
 | 
			
		||||
 | 
			
		||||
.PHONY: all install clean
 | 
			
		||||
.PHONY: all install clean distclean
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								server/node_modules/express/node_modules/debug/Readme.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										16
									
								
								server/node_modules/express/node_modules/debug/Readme.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -53,8 +53,8 @@ setInterval(function(){
 | 
			
		||||
 | 
			
		||||
#### Windows note
 | 
			
		||||
 | 
			
		||||
 On Windows the environment variable is set using the `set` command. 
 | 
			
		||||
 
 | 
			
		||||
 On Windows the environment variable is set using the `set` command.
 | 
			
		||||
 | 
			
		||||
 ```cmd
 | 
			
		||||
 set DEBUG=*,-not_this
 | 
			
		||||
 ```
 | 
			
		||||
@@ -77,7 +77,7 @@ Then, run the program to be debugged as usual.
 | 
			
		||||
 | 
			
		||||
## Wildcards
 | 
			
		||||
 | 
			
		||||
  The `*` character may be used as a wildcard. Suppose for example your library has debuggers named "connect:bodyParser", "connect:compress", "connect:session", instead of listing all three with `DEBUG=connect:bodyParser,connect.compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.
 | 
			
		||||
  The `*` character may be used as a wildcard. Suppose for example your library has debuggers named "connect:bodyParser", "connect:compress", "connect:session", instead of listing all three with `DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.
 | 
			
		||||
 | 
			
		||||
  You can also exclude specific debuggers by prefixing them with a "-" character.  For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with "connect:".
 | 
			
		||||
 | 
			
		||||
@@ -147,6 +147,16 @@ error('now goes to stdout via console.info');
 | 
			
		||||
log('still goes to stdout, but via console.info now');
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Save debug output to a file
 | 
			
		||||
 | 
			
		||||
You can save all debug statements to a file by piping them.
 | 
			
		||||
 | 
			
		||||
Example:
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
$ DEBUG_FD=3 node your-app.js 3> whatever.log
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Authors
 | 
			
		||||
 | 
			
		||||
 - TJ Holowaychuk
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								server/node_modules/express/node_modules/debug/bower.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										2
									
								
								server/node_modules/express/node_modules/debug/bower.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,7 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "visionmedia-debug",
 | 
			
		||||
  "main": "dist/debug.js",
 | 
			
		||||
  "version": "2.1.3",
 | 
			
		||||
  "version": "2.2.0",
 | 
			
		||||
  "homepage": "https://github.com/visionmedia/debug",
 | 
			
		||||
  "authors": [
 | 
			
		||||
    "TJ Holowaychuk <tj@vision-media.ca>"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										21
									
								
								server/node_modules/express/node_modules/debug/browser.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										21
									
								
								server/node_modules/express/node_modules/debug/browser.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -11,17 +11,10 @@ exports.formatArgs = formatArgs;
 | 
			
		||||
exports.save = save;
 | 
			
		||||
exports.load = load;
 | 
			
		||||
exports.useColors = useColors;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Use chrome.storage.local if we are in an app
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var storage;
 | 
			
		||||
 | 
			
		||||
if (typeof chrome !== 'undefined' && typeof chrome.storage !== 'undefined')
 | 
			
		||||
  storage = chrome.storage.local;
 | 
			
		||||
else
 | 
			
		||||
  storage = localstorage();
 | 
			
		||||
exports.storage = 'undefined' != typeof chrome
 | 
			
		||||
               && 'undefined' != typeof chrome.storage
 | 
			
		||||
                  ? chrome.storage.local
 | 
			
		||||
                  : localstorage();
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Colors.
 | 
			
		||||
@@ -129,9 +122,9 @@ function log() {
 | 
			
		||||
function save(namespaces) {
 | 
			
		||||
  try {
 | 
			
		||||
    if (null == namespaces) {
 | 
			
		||||
      storage.removeItem('debug');
 | 
			
		||||
      exports.storage.removeItem('debug');
 | 
			
		||||
    } else {
 | 
			
		||||
      storage.debug = namespaces;
 | 
			
		||||
      exports.storage.debug = namespaces;
 | 
			
		||||
    }
 | 
			
		||||
  } catch(e) {}
 | 
			
		||||
}
 | 
			
		||||
@@ -146,7 +139,7 @@ function save(namespaces) {
 | 
			
		||||
function load() {
 | 
			
		||||
  var r;
 | 
			
		||||
  try {
 | 
			
		||||
    r = storage.debug;
 | 
			
		||||
    r = exports.storage.debug;
 | 
			
		||||
  } catch(e) {}
 | 
			
		||||
  return r;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								server/node_modules/express/node_modules/debug/component.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										4
									
								
								server/node_modules/express/node_modules/debug/component.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -2,7 +2,7 @@
 | 
			
		||||
  "name": "debug",
 | 
			
		||||
  "repo": "visionmedia/debug",
 | 
			
		||||
  "description": "small debugging utility",
 | 
			
		||||
  "version": "2.1.3",
 | 
			
		||||
  "version": "2.2.0",
 | 
			
		||||
  "keywords": [
 | 
			
		||||
    "debug",
 | 
			
		||||
    "log",
 | 
			
		||||
@@ -14,6 +14,6 @@
 | 
			
		||||
    "debug.js"
 | 
			
		||||
  ],
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "rauchg/ms.js": "0.7.0"
 | 
			
		||||
    "rauchg/ms.js": "0.7.1"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/debug/debug.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/debug/debug.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/debug/node.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/debug/node.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/debug/node_modules/ms/.npmignore
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/debug/node_modules/ms/.npmignore
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/debug/node_modules/ms/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/debug/node_modules/ms/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										2
									
								
								server/node_modules/express/node_modules/debug/node_modules/ms/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										2
									
								
								server/node_modules/express/node_modules/debug/node_modules/ms/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -23,7 +23,7 @@ ms(2 * 60000, { long: true })         // "2 minutes"
 | 
			
		||||
ms(ms('10 hours'), { long: true })    // "10 hours"
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
- Node/Browser compatible. Published as [`ms`](https://www.npmjs.org/package/ms) in [NPM](nodejs.org/download).
 | 
			
		||||
- Node/Browser compatible. Published as [`ms`](https://www.npmjs.org/package/ms) in [NPM](http://nodejs.org/download).
 | 
			
		||||
- If a number is supplied to `ms`, a string with a unit is returned.
 | 
			
		||||
- If a string that contains the number is supplied, it returns it as
 | 
			
		||||
a number (e.g: it returns `100` for `'100'`).
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								server/node_modules/express/node_modules/debug/node_modules/ms/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										2
									
								
								server/node_modules/express/node_modules/debug/node_modules/ms/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -38,6 +38,8 @@ module.exports = function(val, options){
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
function parse(str) {
 | 
			
		||||
  str = '' + str;
 | 
			
		||||
  if (str.length > 10000) return;
 | 
			
		||||
  var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(str);
 | 
			
		||||
  if (!match) return;
 | 
			
		||||
  var n = parseFloat(match[1]);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										29
									
								
								server/node_modules/express/node_modules/debug/node_modules/ms/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										29
									
								
								server/node_modules/express/node_modules/debug/node_modules/ms/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "ms",
 | 
			
		||||
  "version": "0.7.0",
 | 
			
		||||
  "version": "0.7.1",
 | 
			
		||||
  "description": "Tiny ms conversion utility",
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
@@ -17,30 +17,15 @@
 | 
			
		||||
      "ms/index.js": "index.js"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "gitHead": "1e9cd9b05ef0dc26f765434d2bfee42394376e52",
 | 
			
		||||
  "readme": "# ms.js: miliseconds conversion utility\n\n```js\nms('2 days')  // 172800000\nms('1d')      // 86400000\nms('10h')     // 36000000\nms('2.5 hrs') // 9000000\nms('2h')      // 7200000\nms('1m')      // 60000\nms('5s')      // 5000\nms('100')     // 100\n```\n\n```js\nms(60000)             // \"1m\"\nms(2 * 60000)         // \"2m\"\nms(ms('10 hours'))    // \"10h\"\n```\n\n```js\nms(60000, { long: true })             // \"1 minute\"\nms(2 * 60000, { long: true })         // \"2 minutes\"\nms(ms('10 hours'), { long: true })    // \"10 hours\"\n```\n\n- Node/Browser compatible. Published as [`ms`](https://www.npmjs.org/package/ms) in [NPM](http://nodejs.org/download).\n- If a number is supplied to `ms`, a string with a unit is returned.\n- If a string that contains the number is supplied, it returns it as\na number (e.g: it returns `100` for `'100'`).\n- If you pass a string with a number and a valid unit, the number of\nequivalent ms is returned.\n\n## License\n\nMIT\n",
 | 
			
		||||
  "readmeFilename": "README.md",
 | 
			
		||||
  "bugs": {
 | 
			
		||||
    "url": "https://github.com/guille/ms.js/issues"
 | 
			
		||||
  },
 | 
			
		||||
  "homepage": "https://github.com/guille/ms.js",
 | 
			
		||||
  "_id": "ms@0.7.0",
 | 
			
		||||
  "scripts": {},
 | 
			
		||||
  "_shasum": "865be94c2e7397ad8a57da6a633a6e2f30798b83",
 | 
			
		||||
  "_from": "ms@0.7.0",
 | 
			
		||||
  "_npmVersion": "1.4.21",
 | 
			
		||||
  "_npmUser": {
 | 
			
		||||
    "name": "rauchg",
 | 
			
		||||
    "email": "rauchg@gmail.com"
 | 
			
		||||
  },
 | 
			
		||||
  "maintainers": [
 | 
			
		||||
    {
 | 
			
		||||
      "name": "rauchg",
 | 
			
		||||
      "email": "rauchg@gmail.com"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "_id": "ms@0.7.1",
 | 
			
		||||
  "dist": {
 | 
			
		||||
    "shasum": "865be94c2e7397ad8a57da6a633a6e2f30798b83",
 | 
			
		||||
    "tarball": "http://registry.npmjs.org/ms/-/ms-0.7.0.tgz"
 | 
			
		||||
    "shasum": "71c4b4174f5b6aa0101eb56e733ee5f6b4c1a917"
 | 
			
		||||
  },
 | 
			
		||||
  "directories": {},
 | 
			
		||||
  "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.0.tgz"
 | 
			
		||||
  "_from": "ms@0.7.1",
 | 
			
		||||
  "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										36
									
								
								server/node_modules/express/node_modules/debug/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										36
									
								
								server/node_modules/express/node_modules/debug/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/depd/History.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/depd/History.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/depd/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/depd/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/depd/Readme.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/depd/Readme.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/depd/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/depd/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/depd/lib/compat/buffer-concat.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/depd/lib/compat/buffer-concat.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/depd/lib/compat/callsite-tostring.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/depd/lib/compat/callsite-tostring.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/depd/lib/compat/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/depd/lib/compat/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										26
									
								
								server/node_modules/express/node_modules/depd/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										26
									
								
								server/node_modules/express/node_modules/depd/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/escape-html/.npmignore
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/escape-html/.npmignore
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/escape-html/Makefile
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/escape-html/Makefile
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/escape-html/Readme.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/escape-html/Readme.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/escape-html/component.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/escape-html/component.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/escape-html/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/escape-html/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										22
									
								
								server/node_modules/express/node_modules/escape-html/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										22
									
								
								server/node_modules/express/node_modules/escape-html/package.json
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -18,29 +18,15 @@
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "https://github.com/component/escape-html.git"
 | 
			
		||||
  },
 | 
			
		||||
  "readme": "\n# escape-html\n\n  Escape HTML entities\n\n## Example\n\n```js\nvar escape = require('escape-html');\nescape(str);\n```\n\n## License\n\n  MIT",
 | 
			
		||||
  "readmeFilename": "Readme.md",
 | 
			
		||||
  "bugs": {
 | 
			
		||||
    "url": "https://github.com/component/escape-html/issues"
 | 
			
		||||
  },
 | 
			
		||||
  "homepage": "https://github.com/component/escape-html",
 | 
			
		||||
  "_id": "escape-html@1.0.1",
 | 
			
		||||
  "dist": {
 | 
			
		||||
    "shasum": "181a286ead397a39a92857cfb1d43052e356bff0",
 | 
			
		||||
    "tarball": "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz"
 | 
			
		||||
    "shasum": "777cf0da92d25aa00e7a1583bcd29fd16d71343a"
 | 
			
		||||
  },
 | 
			
		||||
  "_from": "escape-html@1.0.1",
 | 
			
		||||
  "_npmVersion": "1.3.15",
 | 
			
		||||
  "_npmUser": {
 | 
			
		||||
    "name": "tjholowaychuk",
 | 
			
		||||
    "email": "tj@vision-media.ca"
 | 
			
		||||
  },
 | 
			
		||||
  "maintainers": [
 | 
			
		||||
    {
 | 
			
		||||
      "name": "tjholowaychuk",
 | 
			
		||||
      "email": "tj@vision-media.ca"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "directories": {},
 | 
			
		||||
  "_shasum": "181a286ead397a39a92857cfb1d43052e356bff0",
 | 
			
		||||
  "_resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz",
 | 
			
		||||
  "readme": "ERROR: No README data found!"
 | 
			
		||||
  "_resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								server/node_modules/express/node_modules/etag/HISTORY.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										7
									
								
								server/node_modules/express/node_modules/etag/HISTORY.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,3 +1,10 @@
 | 
			
		||||
1.6.0 / 2015-05-10
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Improve support for JXcore
 | 
			
		||||
  * Remove requirement of `atime` in the stats object
 | 
			
		||||
  * Support "fake" stats objects in environments without `fs`
 | 
			
		||||
 | 
			
		||||
1.5.1 / 2014-11-19
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								server/node_modules/express/node_modules/etag/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										2
									
								
								server/node_modules/express/node_modules/etag/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
(The MIT License)
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2014 Douglas Christopher Wilson
 | 
			
		||||
Copyright (c) 2014-2015 Douglas Christopher Wilson
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining
 | 
			
		||||
a copy of this software and associated documentation files (the
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										21
									
								
								server/node_modules/express/node_modules/etag/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										21
									
								
								server/node_modules/express/node_modules/etag/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -51,9 +51,18 @@ $ npm test
 | 
			
		||||
```bash
 | 
			
		||||
$ npm run-script bench
 | 
			
		||||
 | 
			
		||||
> etag@1.5.1 bench nodejs-etag
 | 
			
		||||
> etag@1.6.0 bench nodejs-etag
 | 
			
		||||
> node benchmark/index.js
 | 
			
		||||
 | 
			
		||||
  http_parser@1.0
 | 
			
		||||
  node@0.10.33
 | 
			
		||||
  v8@3.14.5.9
 | 
			
		||||
  ares@1.9.0-DEV
 | 
			
		||||
  uv@0.10.29
 | 
			
		||||
  zlib@1.2.3
 | 
			
		||||
  modules@11
 | 
			
		||||
  openssl@1.0.1j
 | 
			
		||||
 | 
			
		||||
> node benchmark/body0-100b.js
 | 
			
		||||
 | 
			
		||||
  100B body
 | 
			
		||||
@@ -129,13 +138,13 @@ $ npm run-script bench
 | 
			
		||||
 | 
			
		||||
[MIT](LICENSE)
 | 
			
		||||
 | 
			
		||||
[npm-image]: https://img.shields.io/npm/v/etag.svg?style=flat
 | 
			
		||||
[npm-image]: https://img.shields.io/npm/v/etag.svg
 | 
			
		||||
[npm-url]: https://npmjs.org/package/etag
 | 
			
		||||
[node-version-image]: https://img.shields.io/node/v/etag.svg?style=flat
 | 
			
		||||
[node-version-image]: https://img.shields.io/node/v/etag.svg
 | 
			
		||||
[node-version-url]: http://nodejs.org/download/
 | 
			
		||||
[travis-image]: https://img.shields.io/travis/jshttp/etag.svg?style=flat
 | 
			
		||||
[travis-image]: https://img.shields.io/travis/jshttp/etag/master.svg
 | 
			
		||||
[travis-url]: https://travis-ci.org/jshttp/etag
 | 
			
		||||
[coveralls-image]: https://img.shields.io/coveralls/jshttp/etag.svg?style=flat
 | 
			
		||||
[coveralls-image]: https://img.shields.io/coveralls/jshttp/etag/master.svg
 | 
			
		||||
[coveralls-url]: https://coveralls.io/r/jshttp/etag?branch=master
 | 
			
		||||
[downloads-image]: https://img.shields.io/npm/dm/etag.svg?style=flat
 | 
			
		||||
[downloads-image]: https://img.shields.io/npm/dm/etag.svg
 | 
			
		||||
[downloads-url]: https://npmjs.org/package/etag
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										11
									
								
								server/node_modules/express/node_modules/etag/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										11
									
								
								server/node_modules/express/node_modules/etag/index.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
/*!
 | 
			
		||||
 * etag
 | 
			
		||||
 * Copyright(c) 2014 Douglas Christopher Wilson
 | 
			
		||||
 * Copyright(c) 2014-2015 Douglas Christopher Wilson
 | 
			
		||||
 * MIT Licensed
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
@@ -73,18 +73,13 @@ function etag(entity, options) {
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
function isstats(obj) {
 | 
			
		||||
  // not even an object
 | 
			
		||||
  if (obj === null || typeof obj !== 'object') {
 | 
			
		||||
    return false
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // genuine fs.Stats
 | 
			
		||||
  if (obj instanceof Stats) {
 | 
			
		||||
  if (typeof Stats === 'function' && obj instanceof Stats) {
 | 
			
		||||
    return true
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // quack quack
 | 
			
		||||
  return 'atime' in obj && toString.call(obj.atime) === '[object Date]'
 | 
			
		||||
  return obj && typeof obj === 'object'
 | 
			
		||||
    && 'ctime' in obj && toString.call(obj.ctime) === '[object Date]'
 | 
			
		||||
    && 'mtime' in obj && toString.call(obj.mtime) === '[object Date]'
 | 
			
		||||
    && 'ino' in obj && typeof obj.ino === 'number'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/.npmignore
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/.npmignore
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/README.md
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/lib/crc.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/lib/crc.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/lib/crc1.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/lib/crc1.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/lib/crc16.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/lib/crc16.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/lib/crc16_ccitt.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/lib/crc16_ccitt.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/lib/crc16_modbus.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/lib/crc16_modbus.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/lib/crc24.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/lib/crc24.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/lib/crc32.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/lib/crc32.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/lib/crc8.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								server/node_modules/express/node_modules/etag/node_modules/crc/lib/crc8.js
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user