├── .gitattributes ├── .gitignore ├── Example.html ├── Icons ├── Ivt.png ├── cir.png ├── clr.png ├── clrann.png ├── ed.png ├── ele.png ├── forkme.png ├── hot.png ├── line.png ├── plane.png ├── rbow.png ├── rect.png ├── red.png ├── rset.png ├── snr.png ├── test.png ├── thold.png └── wl.png ├── LICENSE.txt ├── README.md ├── SampleImage └── dicom.dcm ├── Src ├── Dwv │ ├── dicom │ │ ├── dicomParser.js │ │ └── dictionary.js │ ├── gui │ │ └── browser.js │ ├── image │ │ ├── image.js │ │ ├── luts.js │ │ └── view.js │ └── utils │ │ └── string.js ├── FrameWork │ ├── angular.js │ └── openjpeg.js ├── MiniVersion │ └── NgDicomViewer.js ├── NgDicomViewer-mini.js └── NgDicomViewer.js ├── Style.css ├── Tests ├── E2E │ ├── conf.js │ └── spec.js ├── NodeLauncher │ ├── app.js │ └── node_modules │ │ ├── debug │ │ ├── .jshintrc │ │ ├── .npmignore │ │ ├── History.md │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── bower.json │ │ ├── browser.js │ │ ├── component.json │ │ ├── debug.js │ │ ├── node.js │ │ ├── node_modules │ │ │ └── ms │ │ │ │ ├── .npmignore │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ └── package.json │ │ └── express │ │ ├── History.md │ │ ├── LICENSE │ │ ├── Readme.md │ │ ├── index.js │ │ ├── lib │ │ ├── application.js │ │ ├── express.js │ │ ├── middleware │ │ │ ├── init.js │ │ │ └── query.js │ │ ├── request.js │ │ ├── response.js │ │ ├── router │ │ │ ├── index.js │ │ │ ├── layer.js │ │ │ └── route.js │ │ ├── utils.js │ │ └── view.js │ │ ├── node_modules │ │ ├── accepts │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ ├── mime-types │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ └── mime-db │ │ │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── db.json │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ │ └── negotiator │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── lib │ │ │ │ │ ├── charset.js │ │ │ │ │ ├── encoding.js │ │ │ │ │ ├── language.js │ │ │ │ │ └── mediaType.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── content-disposition │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── content-type │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── cookie-signature │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── cookie │ │ │ ├── .npmignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── depd │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ └── compat │ │ │ │ │ ├── buffer-concat.js │ │ │ │ │ ├── callsite-tostring.js │ │ │ │ │ └── index.js │ │ │ └── package.json │ │ ├── escape-html │ │ │ ├── .npmignore │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── component.json │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── etag │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ └── crc │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── lib │ │ │ │ │ ├── crc.js │ │ │ │ │ ├── crc1.js │ │ │ │ │ ├── crc16.js │ │ │ │ │ ├── crc16_ccitt.js │ │ │ │ │ ├── crc16_modbus.js │ │ │ │ │ ├── crc24.js │ │ │ │ │ ├── crc32.js │ │ │ │ │ ├── crc8.js │ │ │ │ │ ├── crc8_1wire.js │ │ │ │ │ ├── create.js │ │ │ │ │ ├── hex.js │ │ │ │ │ └── index.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── finalhandler │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── fresh │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── merge-descriptors │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── methods │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── on-finished │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ └── ee-first │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── parseurl │ │ │ ├── .npmignore │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── path-to-regexp │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Readme.md │ │ │ ├── component.json │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test.js │ │ ├── proxy-addr │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ ├── forwarded │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ └── ipaddr.js │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── Cakefile │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── ipaddr.min.js │ │ │ │ │ ├── lib │ │ │ │ │ └── ipaddr.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src │ │ │ │ │ └── ipaddr.coffee │ │ │ │ │ └── test │ │ │ │ │ └── ipaddr.test.coffee │ │ │ └── package.json │ │ ├── qs │ │ │ ├── .jshintignore │ │ │ ├── .jshintrc │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── index.js │ │ │ │ ├── parse.js │ │ │ │ ├── stringify.js │ │ │ │ └── utils.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ ├── parse.js │ │ │ │ └── stringify.js │ │ ├── range-parser │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── send │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ ├── .bin │ │ │ │ │ ├── mime │ │ │ │ │ └── mime.cmd │ │ │ │ ├── destroy │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ ├── mime │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── build │ │ │ │ │ │ ├── build.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── cli.js │ │ │ │ │ ├── mime.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── types.json │ │ │ │ └── ms │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── serve-static │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ └── send │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node_modules │ │ │ │ │ ├── .bin │ │ │ │ │ │ ├── mime │ │ │ │ │ │ └── mime.cmd │ │ │ │ │ ├── destroy │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── mime │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── build │ │ │ │ │ │ │ ├── build.js │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ ├── cli.js │ │ │ │ │ │ ├── mime.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── types.json │ │ │ │ │ └── ms │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── type-is │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ ├── media-typer │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ └── mime-types │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node_modules │ │ │ │ │ └── mime-db │ │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── db.json │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── utils-merge │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ └── vary │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ └── package.json ├── ReadMe.md └── Unit │ ├── Test.html │ ├── lib │ └── jasmine-2.0.2 │ │ ├── boot.js │ │ ├── console.js │ │ ├── jasmine-html.js │ │ ├── jasmine.css │ │ ├── jasmine.js │ │ └── jasmine_favicon.png │ └── spec │ └── NgDicomViewerSpec.js ├── ng-DicomViewer-forMiniVersion.html ├── ng-DicomViewer.html └── ng-DicomViewer.synw-proj /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # ========================= 18 | # Operating System Files 19 | # ========================= 20 | 21 | # OSX 22 | # ========================= 23 | 24 | .DS_Store 25 | .AppleDouble 26 | .LSOverride 27 | 28 | # Icon must end with two \r 29 | Icon 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear on external disk 35 | .Spotlight-V100 36 | .Trashes 37 | 38 | # Directories potentially created on remote AFP share 39 | .AppleDB 40 | .AppleDesktop 41 | Network Trash Folder 42 | Temporary Items 43 | .apdisk 44 | -------------------------------------------------------------------------------- /Example.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Ng-DicomViewer Example 6 | 7 | 8 | 9 | 10 | 13 | 14 | 15 | 16 |
17 | Url :
18 | click to open url:
19 | Info:  name:{{PatientName}}   id:{{PatientId}}  w:{{WWidth}}  c:{{WCenter}}
20 | 21 | Button Tools:
22 | Mouse Tools:
23 | Annotation Colour :
24 | Threshold Value Range : {{Rmin}} {{Rmax}}
25 | Threshold min
26 | Threshold max
27 | 28 |

29 | 30 | 31 |
32 | {{tagObj.Name}} 33 | {{tagObj.TagStr}} 34 | {{tagObj.Value}} 35 |
36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /Icons/Ivt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/Ivt.png -------------------------------------------------------------------------------- /Icons/cir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/cir.png -------------------------------------------------------------------------------- /Icons/clr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/clr.png -------------------------------------------------------------------------------- /Icons/clrann.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/clrann.png -------------------------------------------------------------------------------- /Icons/ed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/ed.png -------------------------------------------------------------------------------- /Icons/ele.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/ele.png -------------------------------------------------------------------------------- /Icons/forkme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/forkme.png -------------------------------------------------------------------------------- /Icons/hot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/hot.png -------------------------------------------------------------------------------- /Icons/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/line.png -------------------------------------------------------------------------------- /Icons/plane.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/plane.png -------------------------------------------------------------------------------- /Icons/rbow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/rbow.png -------------------------------------------------------------------------------- /Icons/rect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/rect.png -------------------------------------------------------------------------------- /Icons/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/red.png -------------------------------------------------------------------------------- /Icons/rset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/rset.png -------------------------------------------------------------------------------- /Icons/snr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/snr.png -------------------------------------------------------------------------------- /Icons/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/test.png -------------------------------------------------------------------------------- /Icons/thold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/thold.png -------------------------------------------------------------------------------- /Icons/wl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Icons/wl.png -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) [2014][hari hara prasad viswanathan] 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /SampleImage/dicom.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/SampleImage/dicom.dcm -------------------------------------------------------------------------------- /Tests/E2E/conf.js: -------------------------------------------------------------------------------- 1 | exports.config = { 2 | seleniumAddress: 'http://localhost:4444/wd/hub', 3 | 4 | capabilities: { 5 | 'browserName': 'chrome' 6 | }, 7 | framework: 'jasmine2', 8 | specs: ['spec.js'], 9 | 10 | jasmineNodeOpts: { 11 | showColors: true, 12 | defaultTimeoutInterval: 2500000 13 | }, 14 | onPrepare: function(){ 15 | browser.driver.manage().window().maximize(); 16 | browser.driver.get('http://localhost:3000'); 17 | } 18 | }; -------------------------------------------------------------------------------- /Tests/NodeLauncher/app.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var path = require('path'); 3 | var app = express(); 4 | app.use(express.static(path.join(__dirname, '../../../NgDicomViewer'))); 5 | app.get('/', function(req, res, next) { 6 | res.sendFile(path.join(__dirname, '../../../NgDicomViewer/ng-DicomViewer.html')); 7 | });/**/ 8 | var server = app.listen(3000, function () { 9 | var host = server.address().address; 10 | var port = server.address().port; 11 | 12 | console.log('Example app listening at http://%s:%s', host, port); 13 | }); 14 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/debug/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "laxbreak": true 3 | } 4 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/debug/Makefile: -------------------------------------------------------------------------------- 1 | 2 | # get Makefile directory name: http://stackoverflow.com/a/5982798/376773 3 | THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) 4 | THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) 5 | 6 | # BIN directory 7 | BIN := $(THIS_DIR)/node_modules/.bin 8 | 9 | # applications 10 | NODE ?= $(shell which node) 11 | NPM ?= $(NODE) $(shell which npm) 12 | BROWSERIFY ?= $(NODE) $(BIN)/browserify 13 | 14 | all: dist/debug.js 15 | 16 | install: node_modules 17 | 18 | clean: 19 | @rm -rf node_modules dist 20 | 21 | dist: 22 | @mkdir -p $@ 23 | 24 | dist/debug.js: node_modules browser.js debug.js dist 25 | @$(BROWSERIFY) \ 26 | --standalone debug \ 27 | . > $@ 28 | 29 | node_modules: package.json 30 | @NODE_ENV= $(NPM) install 31 | @touch node_modules 32 | 33 | .PHONY: all install clean 34 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/debug/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "visionmedia-debug", 3 | "main": "dist/debug.js", 4 | "version": "2.1.3", 5 | "homepage": "https://github.com/visionmedia/debug", 6 | "authors": [ 7 | "TJ Holowaychuk " 8 | ], 9 | "description": "visionmedia-debug", 10 | "moduleType": [ 11 | "amd", 12 | "es6", 13 | "globals", 14 | "node" 15 | ], 16 | "keywords": [ 17 | "visionmedia", 18 | "debug" 19 | ], 20 | "license": "MIT", 21 | "ignore": [ 22 | "**/.*", 23 | "node_modules", 24 | "bower_components", 25 | "test", 26 | "tests" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.1.3", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "browser.js", 12 | "scripts": [ 13 | "browser.js", 14 | "debug.js" 15 | ], 16 | "dependencies": { 17 | "rauchg/ms.js": "0.7.0" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/debug/node_modules/ms/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test 3 | History.md 4 | Makefile 5 | component.json 6 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/debug/node_modules/ms/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Guillermo Rauch 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/debug/node_modules/ms/README.md: -------------------------------------------------------------------------------- 1 | # ms.js: miliseconds conversion utility 2 | 3 | ```js 4 | ms('2 days') // 172800000 5 | ms('1d') // 86400000 6 | ms('10h') // 36000000 7 | ms('2.5 hrs') // 9000000 8 | ms('2h') // 7200000 9 | ms('1m') // 60000 10 | ms('5s') // 5000 11 | ms('100') // 100 12 | ``` 13 | 14 | ```js 15 | ms(60000) // "1m" 16 | ms(2 * 60000) // "2m" 17 | ms(ms('10 hours')) // "10h" 18 | ``` 19 | 20 | ```js 21 | ms(60000, { long: true }) // "1 minute" 22 | ms(2 * 60000, { long: true }) // "2 minutes" 23 | ms(ms('10 hours'), { long: true }) // "10 hours" 24 | ``` 25 | 26 | - Node/Browser compatible. Published as [`ms`](https://www.npmjs.org/package/ms) in [NPM](nodejs.org/download). 27 | - If a number is supplied to `ms`, a string with a unit is returned. 28 | - If a string that contains the number is supplied, it returns it as 29 | a number (e.g: it returns `100` for `'100'`). 30 | - If you pass a string with a number and a valid unit, the number of 31 | equivalent ms is returned. 32 | 33 | ## License 34 | 35 | MIT 36 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/debug/node_modules/ms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ms", 3 | "version": "0.7.0", 4 | "description": "Tiny ms conversion utility", 5 | "repository": { 6 | "type": "git", 7 | "url": "git://github.com/guille/ms.js.git" 8 | }, 9 | "main": "./index", 10 | "devDependencies": { 11 | "mocha": "*", 12 | "expect.js": "*", 13 | "serve": "*" 14 | }, 15 | "component": { 16 | "scripts": { 17 | "ms/index.js": "index.js" 18 | } 19 | }, 20 | "gitHead": "1e9cd9b05ef0dc26f765434d2bfee42394376e52", 21 | "bugs": { 22 | "url": "https://github.com/guille/ms.js/issues" 23 | }, 24 | "homepage": "https://github.com/guille/ms.js", 25 | "_id": "ms@0.7.0", 26 | "scripts": {}, 27 | "_shasum": "865be94c2e7397ad8a57da6a633a6e2f30798b83", 28 | "_from": "ms@0.7.0", 29 | "_npmVersion": "1.4.21", 30 | "_npmUser": { 31 | "name": "rauchg", 32 | "email": "rauchg@gmail.com" 33 | }, 34 | "maintainers": [ 35 | { 36 | "name": "rauchg", 37 | "email": "rauchg@gmail.com" 38 | } 39 | ], 40 | "dist": { 41 | "shasum": "865be94c2e7397ad8a57da6a633a6e2f30798b83", 42 | "tarball": "http://registry.npmjs.org/ms/-/ms-0.7.0.tgz" 43 | }, 44 | "directories": {}, 45 | "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.0.tgz", 46 | "readme": "ERROR: No README data found!" 47 | } 48 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/debug/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "version": "2.1.3", 4 | "repository": { 5 | "type": "git", 6 | "url": "git://github.com/visionmedia/debug.git" 7 | }, 8 | "description": "small debugging utility", 9 | "keywords": [ 10 | "debug", 11 | "log", 12 | "debugger" 13 | ], 14 | "author": { 15 | "name": "TJ Holowaychuk", 16 | "email": "tj@vision-media.ca" 17 | }, 18 | "contributors": [ 19 | { 20 | "name": "Nathan Rajlich", 21 | "email": "nathan@tootallnate.net", 22 | "url": "http://n8.io" 23 | } 24 | ], 25 | "license": "MIT", 26 | "dependencies": { 27 | "ms": "0.7.0" 28 | }, 29 | "devDependencies": { 30 | "browserify": "9.0.3", 31 | "mocha": "*" 32 | }, 33 | "main": "./node.js", 34 | "browser": "./browser.js", 35 | "component": { 36 | "scripts": { 37 | "debug/index.js": "browser.js", 38 | "debug/debug.js": "debug.js" 39 | } 40 | }, 41 | "gitHead": "0a8e4b7e0d2d1b55ef4e7422498ca24c677ae63a", 42 | "bugs": { 43 | "url": "https://github.com/visionmedia/debug/issues" 44 | }, 45 | "homepage": "https://github.com/visionmedia/debug", 46 | "_id": "debug@2.1.3", 47 | "scripts": {}, 48 | "_shasum": "ce8ab1b5ee8fbee2bfa3b633cab93d366b63418e", 49 | "_from": "debug@~2.1.1", 50 | "_npmVersion": "2.5.1", 51 | "_nodeVersion": "0.12.0", 52 | "_npmUser": { 53 | "name": "tootallnate", 54 | "email": "nathan@tootallnate.net" 55 | }, 56 | "maintainers": [ 57 | { 58 | "name": "tjholowaychuk", 59 | "email": "tj@vision-media.ca" 60 | }, 61 | { 62 | "name": "tootallnate", 63 | "email": "nathan@tootallnate.net" 64 | } 65 | ], 66 | "dist": { 67 | "shasum": "ce8ab1b5ee8fbee2bfa3b633cab93d366b63418e", 68 | "tarball": "http://registry.npmjs.org/debug/-/debug-2.1.3.tgz" 69 | }, 70 | "directories": {}, 71 | "_resolved": "https://registry.npmjs.org/debug/-/debug-2.1.3.tgz", 72 | "readme": "ERROR: No README data found!" 73 | } 74 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2009-2014 TJ Holowaychuk 4 | Copyright (c) 2013-2014 Roman Shtylman 5 | Copyright (c) 2014-2015 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/express'); 3 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/lib/express.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Module dependencies. 3 | */ 4 | 5 | var EventEmitter = require('events').EventEmitter; 6 | var mixin = require('merge-descriptors'); 7 | var proto = require('./application'); 8 | var Route = require('./router/route'); 9 | var Router = require('./router'); 10 | var req = require('./request'); 11 | var res = require('./response'); 12 | 13 | /** 14 | * Expose `createApplication()`. 15 | */ 16 | 17 | exports = module.exports = createApplication; 18 | 19 | /** 20 | * Create an express application. 21 | * 22 | * @return {Function} 23 | * @api public 24 | */ 25 | 26 | function createApplication() { 27 | var app = function(req, res, next) { 28 | app.handle(req, res, next); 29 | }; 30 | 31 | mixin(app, EventEmitter.prototype, false); 32 | mixin(app, proto, false); 33 | 34 | app.request = { __proto__: req, app: app }; 35 | app.response = { __proto__: res, app: app }; 36 | app.init(); 37 | return app; 38 | } 39 | 40 | /** 41 | * Expose the prototypes. 42 | */ 43 | 44 | exports.application = proto; 45 | exports.request = req; 46 | exports.response = res; 47 | 48 | /** 49 | * Expose constructors. 50 | */ 51 | 52 | exports.Route = Route; 53 | exports.Router = Router; 54 | 55 | /** 56 | * Expose middleware 57 | */ 58 | 59 | exports.query = require('./middleware/query'); 60 | exports.static = require('serve-static'); 61 | 62 | /** 63 | * Replace removed middleware with an appropriate error message. 64 | */ 65 | 66 | [ 67 | 'json', 68 | 'urlencoded', 69 | 'bodyParser', 70 | 'compress', 71 | 'cookieSession', 72 | 'session', 73 | 'logger', 74 | 'cookieParser', 75 | 'favicon', 76 | 'responseTime', 77 | 'errorHandler', 78 | 'timeout', 79 | 'methodOverride', 80 | 'vhost', 81 | 'csrf', 82 | 'directory', 83 | 'limit', 84 | 'multipart', 85 | 'staticCache', 86 | ].forEach(function (name) { 87 | Object.defineProperty(exports, name, { 88 | get: function () { 89 | throw new Error('Most middleware (like ' + name + ') is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.'); 90 | }, 91 | configurable: true 92 | }); 93 | }); 94 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/lib/middleware/init.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Initialization middleware, exposing the 3 | * request and response to each other, as well 4 | * as defaulting the X-Powered-By header field. 5 | * 6 | * @param {Function} app 7 | * @return {Function} 8 | * @api private 9 | */ 10 | 11 | exports.init = function(app){ 12 | return function expressInit(req, res, next){ 13 | if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express'); 14 | req.res = res; 15 | res.req = req; 16 | req.next = next; 17 | 18 | req.__proto__ = app.request; 19 | res.__proto__ = app.response; 20 | 21 | res.locals = res.locals || Object.create(null); 22 | 23 | next(); 24 | }; 25 | }; 26 | 27 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/lib/middleware/query.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Module dependencies. 3 | */ 4 | 5 | var parseUrl = require('parseurl'); 6 | var qs = require('qs'); 7 | 8 | /** 9 | * @param {Object} options 10 | * @return {Function} 11 | * @api public 12 | */ 13 | 14 | module.exports = function query(options) { 15 | var queryparse = qs.parse; 16 | 17 | if (typeof options === 'function') { 18 | queryparse = options; 19 | options = undefined; 20 | } 21 | 22 | return function query(req, res, next){ 23 | if (!req.query) { 24 | var val = parseUrl(req).query; 25 | req.query = queryparse(val, options); 26 | } 27 | 28 | next(); 29 | }; 30 | }; 31 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/accepts/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/accepts/node_modules/mime-types/HISTORY.md: -------------------------------------------------------------------------------- 1 | 2.0.10 / 2015-03-13 2 | =================== 3 | 4 | * deps: mime-db@~1.8.0 5 | - Add new mime types 6 | 7 | 2.0.9 / 2015-02-09 8 | ================== 9 | 10 | * deps: mime-db@~1.7.0 11 | - Add new mime types 12 | - Community extensions ownership transferred from `node-mime` 13 | 14 | 2.0.8 / 2015-01-29 15 | ================== 16 | 17 | * deps: mime-db@~1.6.0 18 | - Add new mime types 19 | 20 | 2.0.7 / 2014-12-30 21 | ================== 22 | 23 | * deps: mime-db@~1.5.0 24 | - Add new mime types 25 | - Fix various invalid MIME type entries 26 | 27 | 2.0.6 / 2014-12-30 28 | ================== 29 | 30 | * deps: mime-db@~1.4.0 31 | - Add new mime types 32 | - Fix various invalid MIME type entries 33 | - Remove example template MIME types 34 | 35 | 2.0.5 / 2014-12-29 36 | ================== 37 | 38 | * deps: mime-db@~1.3.1 39 | - Fix missing extensions 40 | 41 | 2.0.4 / 2014-12-10 42 | ================== 43 | 44 | * deps: mime-db@~1.3.0 45 | - Add new mime types 46 | 47 | 2.0.3 / 2014-11-09 48 | ================== 49 | 50 | * deps: mime-db@~1.2.0 51 | - Add new mime types 52 | 53 | 2.0.2 / 2014-09-28 54 | ================== 55 | 56 | * deps: mime-db@~1.1.0 57 | - Add new mime types 58 | - Add additional compressible 59 | - Update charsets 60 | 61 | 2.0.1 / 2014-09-07 62 | ================== 63 | 64 | * Support Node.js 0.6 65 | 66 | 2.0.0 / 2014-09-02 67 | ================== 68 | 69 | * Use `mime-db` 70 | * Remove `.define()` 71 | 72 | 1.0.2 / 2014-08-04 73 | ================== 74 | 75 | * Set charset=utf-8 for `text/javascript` 76 | 77 | 1.0.1 / 2014-06-24 78 | ================== 79 | 80 | * Add `text/jsx` type 81 | 82 | 1.0.0 / 2014-05-12 83 | ================== 84 | 85 | * Return `false` for unknown types 86 | * Set charset=utf-8 for `application/json` 87 | 88 | 0.1.0 / 2014-05-02 89 | ================== 90 | 91 | * Initial release 92 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/accepts/node_modules/mime-types/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/accepts/node_modules/mime-types/index.js: -------------------------------------------------------------------------------- 1 | 2 | var db = require('mime-db') 3 | 4 | // types[extension] = type 5 | exports.types = Object.create(null) 6 | // extensions[type] = [extensions] 7 | exports.extensions = Object.create(null) 8 | 9 | Object.keys(db).forEach(function (name) { 10 | var mime = db[name] 11 | var exts = mime.extensions 12 | if (!exts || !exts.length) return 13 | exports.extensions[name] = exts 14 | exts.forEach(function (ext) { 15 | exports.types[ext] = name 16 | }) 17 | }) 18 | 19 | exports.lookup = function (string) { 20 | if (!string || typeof string !== "string") return false 21 | // remove any leading paths, though we should just use path.basename 22 | string = string.replace(/.*[\.\/\\]/, '').toLowerCase() 23 | if (!string) return false 24 | return exports.types[string] || false 25 | } 26 | 27 | exports.extension = function (type) { 28 | if (!type || typeof type !== "string") return false 29 | // to do: use media-typer 30 | type = type.match(/^\s*([^;\s]*)(?:;|\s|$)/) 31 | if (!type) return false 32 | var exts = exports.extensions[type[1].toLowerCase()] 33 | if (!exts || !exts.length) return false 34 | return exts[0] 35 | } 36 | 37 | // type has to be an exact mime type 38 | exports.charset = function (type) { 39 | var mime = db[type] 40 | if (mime && mime.charset) return mime.charset 41 | 42 | // default text/* to utf-8 43 | if (/^text\//.test(type)) return 'UTF-8' 44 | 45 | return false 46 | } 47 | 48 | // backwards compatibility 49 | exports.charsets = { 50 | lookup: exports.charset 51 | } 52 | 53 | // to do: maybe use set-type module or something 54 | exports.contentType = function (type) { 55 | if (!type || typeof type !== "string") return false 56 | if (!~type.indexOf('/')) type = exports.lookup(type) 57 | if (!type) return false 58 | if (!~type.indexOf('charset')) { 59 | var charset = exports.charset(type) 60 | if (charset) type += '; charset=' + charset.toLowerCase() 61 | } 62 | return type 63 | } 64 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * mime-db 3 | * Copyright(c) 2014 Jonathan Ong 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | */ 10 | 11 | module.exports = require('./db.json') 12 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/accepts/node_modules/negotiator/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.5.1 / 2015-02-14 2 | ================== 3 | 4 | * Fix preference sorting to be stable for long acceptable lists 5 | 6 | 0.5.0 / 2014-12-18 7 | ================== 8 | 9 | * Fix list return order when large accepted list 10 | * Fix missing identity encoding when q=0 exists 11 | * Remove dynamic building of Negotiator class 12 | 13 | 0.4.9 / 2014-10-14 14 | ================== 15 | 16 | * Fix error when media type has invalid parameter 17 | 18 | 0.4.8 / 2014-09-28 19 | ================== 20 | 21 | * Fix all negotiations to be case-insensitive 22 | * Stable sort preferences of same quality according to client order 23 | * Support Node.js 0.6 24 | 25 | 0.4.7 / 2014-06-24 26 | ================== 27 | 28 | * Handle invalid provided languages 29 | * Handle invalid provided media types 30 | 31 | 0.4.6 / 2014-06-11 32 | ================== 33 | 34 | * Order by specificity when quality is the same 35 | 36 | 0.4.5 / 2014-05-29 37 | ================== 38 | 39 | * Fix regression in empty header handling 40 | 41 | 0.4.4 / 2014-05-29 42 | ================== 43 | 44 | * Fix behaviors when headers are not present 45 | 46 | 0.4.3 / 2014-04-16 47 | ================== 48 | 49 | * Handle slashes on media params correctly 50 | 51 | 0.4.2 / 2014-02-28 52 | ================== 53 | 54 | * Fix media type sorting 55 | * Handle media types params strictly 56 | 57 | 0.4.1 / 2014-01-16 58 | ================== 59 | 60 | * Use most specific matches 61 | 62 | 0.4.0 / 2014-01-09 63 | ================== 64 | 65 | * Remove preferred prefix from methods 66 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/accepts/node_modules/negotiator/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012 Federico Romero 4 | Copyright (c) 2012-2014 Isaac Z. Schlueter 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/accepts/node_modules/negotiator/index.js: -------------------------------------------------------------------------------- 1 | 2 | var preferredCharsets = require('./lib/charset'); 3 | var preferredEncodings = require('./lib/encoding'); 4 | var preferredLanguages = require('./lib/language'); 5 | var preferredMediaTypes = require('./lib/mediaType'); 6 | 7 | module.exports = Negotiator; 8 | Negotiator.Negotiator = Negotiator; 9 | 10 | function Negotiator(request) { 11 | if (!(this instanceof Negotiator)) { 12 | return new Negotiator(request); 13 | } 14 | 15 | this.request = request; 16 | } 17 | 18 | Negotiator.prototype.charset = function charset(available) { 19 | var set = this.charsets(available); 20 | return set && set[0]; 21 | }; 22 | 23 | Negotiator.prototype.charsets = function charsets(available) { 24 | return preferredCharsets(this.request.headers['accept-charset'], available); 25 | }; 26 | 27 | Negotiator.prototype.encoding = function encoding(available) { 28 | var set = this.encodings(available); 29 | return set && set[0]; 30 | }; 31 | 32 | Negotiator.prototype.encodings = function encodings(available) { 33 | return preferredEncodings(this.request.headers['accept-encoding'], available); 34 | }; 35 | 36 | Negotiator.prototype.language = function language(available) { 37 | var set = this.languages(available); 38 | return set && set[0]; 39 | }; 40 | 41 | Negotiator.prototype.languages = function languages(available) { 42 | return preferredLanguages(this.request.headers['accept-language'], available); 43 | }; 44 | 45 | Negotiator.prototype.mediaType = function mediaType(available) { 46 | var set = this.mediaTypes(available); 47 | return set && set[0]; 48 | }; 49 | 50 | Negotiator.prototype.mediaTypes = function mediaTypes(available) { 51 | return preferredMediaTypes(this.request.headers.accept, available); 52 | }; 53 | 54 | // Backwards compatibility 55 | Negotiator.prototype.preferredCharset = Negotiator.prototype.charset; 56 | Negotiator.prototype.preferredCharsets = Negotiator.prototype.charsets; 57 | Negotiator.prototype.preferredEncoding = Negotiator.prototype.encoding; 58 | Negotiator.prototype.preferredEncodings = Negotiator.prototype.encodings; 59 | Negotiator.prototype.preferredLanguage = Negotiator.prototype.language; 60 | Negotiator.prototype.preferredLanguages = Negotiator.prototype.languages; 61 | Negotiator.prototype.preferredMediaType = Negotiator.prototype.mediaType; 62 | Negotiator.prototype.preferredMediaTypes = Negotiator.prototype.mediaTypes; 63 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/accepts/node_modules/negotiator/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "negotiator", 3 | "description": "HTTP content negotiation", 4 | "version": "0.5.1", 5 | "contributors": [ 6 | { 7 | "name": "Douglas Christopher Wilson", 8 | "email": "doug@somethingdoug.com" 9 | }, 10 | { 11 | "name": "Federico Romero", 12 | "email": "federico.romero@outboxlabs.com" 13 | }, 14 | { 15 | "name": "Isaac Z. Schlueter", 16 | "email": "i@izs.me", 17 | "url": "http://blog.izs.me/" 18 | } 19 | ], 20 | "license": "MIT", 21 | "keywords": [ 22 | "http", 23 | "content negotiation", 24 | "accept", 25 | "accept-language", 26 | "accept-encoding", 27 | "accept-charset" 28 | ], 29 | "repository": { 30 | "type": "git", 31 | "url": "https://github.com/jshttp/negotiator" 32 | }, 33 | "devDependencies": { 34 | "istanbul": "0.3.5", 35 | "nodeunit": "0.9.0", 36 | "tap": "0.5.0" 37 | }, 38 | "files": [ 39 | "lib/", 40 | "HISTORY.md", 41 | "LICENSE", 42 | "index.js", 43 | "README.md" 44 | ], 45 | "engines": { 46 | "node": ">= 0.6" 47 | }, 48 | "scripts": { 49 | "test": "nodeunit test", 50 | "test-cov": "istanbul cover ./node_modules/nodeunit/bin/nodeunit test" 51 | }, 52 | "gitHead": "bfee971fe0503518cc93d1956518212203b7e68c", 53 | "bugs": { 54 | "url": "https://github.com/jshttp/negotiator/issues" 55 | }, 56 | "homepage": "https://github.com/jshttp/negotiator", 57 | "_id": "negotiator@0.5.1", 58 | "_shasum": "498f661c522470153c6086ac83019cb3eb66f61c", 59 | "_from": "negotiator@0.5.1", 60 | "_npmVersion": "1.4.28", 61 | "_npmUser": { 62 | "name": "dougwilson", 63 | "email": "doug@somethingdoug.com" 64 | }, 65 | "maintainers": [ 66 | { 67 | "name": "federomero", 68 | "email": "federomero@gmail.com" 69 | }, 70 | { 71 | "name": "dougwilson", 72 | "email": "doug@somethingdoug.com" 73 | }, 74 | { 75 | "name": "jongleberry", 76 | "email": "jonathanrichardong@gmail.com" 77 | } 78 | ], 79 | "dist": { 80 | "shasum": "498f661c522470153c6086ac83019cb3eb66f61c", 81 | "tarball": "http://registry.npmjs.org/negotiator/-/negotiator-0.5.1.tgz" 82 | }, 83 | "directories": {}, 84 | "_resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.1.tgz", 85 | "readme": "ERROR: No README data found!" 86 | } 87 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/content-disposition/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.5.0 / 2014-10-11 2 | ================== 3 | 4 | * Add `parse` function 5 | 6 | 0.4.0 / 2014-09-21 7 | ================== 8 | 9 | * Expand non-Unicode `filename` to the full ISO-8859-1 charset 10 | 11 | 0.3.0 / 2014-09-20 12 | ================== 13 | 14 | * Add `fallback` option 15 | * Add `type` option 16 | 17 | 0.2.0 / 2014-09-19 18 | ================== 19 | 20 | * Reduce ambiguity of file names with hex escape in buggy browsers 21 | 22 | 0.1.2 / 2014-09-19 23 | ================== 24 | 25 | * Fix periodic invalid Unicode filename header 26 | 27 | 0.1.1 / 2014-09-19 28 | ================== 29 | 30 | * Fix invalid characters appearing in `filename*` parameter 31 | 32 | 0.1.0 / 2014-09-18 33 | ================== 34 | 35 | * Make the `filename` argument optional 36 | 37 | 0.0.0 / 2014-09-18 38 | ================== 39 | 40 | * Initial release 41 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/content-disposition/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/content-disposition/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "content-disposition", 3 | "description": "Create and parse Content-Disposition header", 4 | "version": "0.5.0", 5 | "contributors": [ 6 | { 7 | "name": "Douglas Christopher Wilson", 8 | "email": "doug@somethingdoug.com" 9 | } 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "content-disposition", 14 | "http", 15 | "rfc6266", 16 | "res" 17 | ], 18 | "repository": { 19 | "type": "git", 20 | "url": "https://github.com/jshttp/content-disposition" 21 | }, 22 | "devDependencies": { 23 | "istanbul": "0.3.2", 24 | "mocha": "~1.21.4" 25 | }, 26 | "files": [ 27 | "LICENSE", 28 | "HISTORY.md", 29 | "README.md", 30 | "index.js" 31 | ], 32 | "engines": { 33 | "node": ">= 0.6" 34 | }, 35 | "scripts": { 36 | "test": "mocha --reporter spec --bail --check-leaks test/", 37 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 38 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 39 | }, 40 | "gitHead": "f3c915f0c9d9f5ec79713dba24c8c6181b73305d", 41 | "bugs": { 42 | "url": "https://github.com/jshttp/content-disposition/issues" 43 | }, 44 | "homepage": "https://github.com/jshttp/content-disposition", 45 | "_id": "content-disposition@0.5.0", 46 | "_shasum": "4284fe6ae0630874639e44e80a418c2934135e9e", 47 | "_from": "content-disposition@0.5.0", 48 | "_npmVersion": "1.4.21", 49 | "_npmUser": { 50 | "name": "dougwilson", 51 | "email": "doug@somethingdoug.com" 52 | }, 53 | "maintainers": [ 54 | { 55 | "name": "dougwilson", 56 | "email": "doug@somethingdoug.com" 57 | } 58 | ], 59 | "dist": { 60 | "shasum": "4284fe6ae0630874639e44e80a418c2934135e9e", 61 | "tarball": "http://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz" 62 | }, 63 | "directories": {}, 64 | "_resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz", 65 | "readme": "ERROR: No README data found!" 66 | } 67 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/content-type/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.1 / 2015-02-13 2 | ================== 3 | 4 | * Improve missing `Content-Type` header error message 5 | 6 | 1.0.0 / 2015-02-01 7 | ================== 8 | 9 | * Initial implementation, derived from `media-typer@0.3.0` 10 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/content-type/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2015 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/content-type/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "content-type", 3 | "description": "Create and parse HTTP Content-Type header", 4 | "version": "1.0.1", 5 | "author": { 6 | "name": "Douglas Christopher Wilson", 7 | "email": "doug@somethingdoug.com" 8 | }, 9 | "license": "MIT", 10 | "keywords": [ 11 | "content-type", 12 | "http", 13 | "req", 14 | "res", 15 | "rfc7231" 16 | ], 17 | "repository": { 18 | "type": "git", 19 | "url": "https://github.com/jshttp/content-type" 20 | }, 21 | "devDependencies": { 22 | "istanbul": "0.3.5", 23 | "mocha": "~1.21.5" 24 | }, 25 | "files": [ 26 | "LICENSE", 27 | "HISTORY.md", 28 | "README.md", 29 | "index.js" 30 | ], 31 | "engines": { 32 | "node": ">= 0.6" 33 | }, 34 | "scripts": { 35 | "test": "mocha --reporter spec --check-leaks --bail test/", 36 | "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/", 37 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/" 38 | }, 39 | "gitHead": "3aa58f9c5a358a3634b8601602177888b4a477d8", 40 | "bugs": { 41 | "url": "https://github.com/jshttp/content-type/issues" 42 | }, 43 | "homepage": "https://github.com/jshttp/content-type", 44 | "_id": "content-type@1.0.1", 45 | "_shasum": "a19d2247327dc038050ce622b7a154ec59c5e600", 46 | "_from": "content-type@~1.0.1", 47 | "_npmVersion": "1.4.28", 48 | "_npmUser": { 49 | "name": "dougwilson", 50 | "email": "doug@somethingdoug.com" 51 | }, 52 | "maintainers": [ 53 | { 54 | "name": "dougwilson", 55 | "email": "doug@somethingdoug.com" 56 | } 57 | ], 58 | "dist": { 59 | "shasum": "a19d2247327dc038050ce622b7a154ec59c5e600", 60 | "tarball": "http://registry.npmjs.org/content-type/-/content-type-1.0.1.tgz" 61 | }, 62 | "directories": {}, 63 | "_resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.1.tgz", 64 | "readme": "ERROR: No README data found!" 65 | } 66 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/cookie-signature/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/cookie-signature/History.md: -------------------------------------------------------------------------------- 1 | 1.0.6 / 2015-02-03 2 | ================== 3 | 4 | * use `npm test` instead of `make test` to run tests 5 | * clearer assertion messages when checking input 6 | 7 | 8 | 1.0.5 / 2014-09-05 9 | ================== 10 | 11 | * add license to package.json 12 | 13 | 1.0.4 / 2014-06-25 14 | ================== 15 | 16 | * corrected avoidance of timing attacks (thanks @tenbits!) 17 | 18 | 1.0.3 / 2014-01-28 19 | ================== 20 | 21 | * [incorrect] fix for timing attacks 22 | 23 | 1.0.2 / 2014-01-28 24 | ================== 25 | 26 | * fix missing repository warning 27 | * fix typo in test 28 | 29 | 1.0.1 / 2013-04-15 30 | ================== 31 | 32 | * Revert "Changed underlying HMAC algo. to sha512." 33 | * Revert "Fix for timing attacks on MAC verification." 34 | 35 | 0.0.1 / 2010-01-03 36 | ================== 37 | 38 | * Initial release 39 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/cookie-signature/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # cookie-signature 3 | 4 | Sign and unsign cookies. 5 | 6 | ## Example 7 | 8 | ```js 9 | var cookie = require('cookie-signature'); 10 | 11 | var val = cookie.sign('hello', 'tobiiscool'); 12 | val.should.equal('hello.DGDUkGlIkCzPz+C0B064FNgHdEjox7ch8tOBGslZ5QI'); 13 | 14 | var val = cookie.sign('hello', 'tobiiscool'); 15 | cookie.unsign(val, 'tobiiscool').should.equal('hello'); 16 | cookie.unsign(val, 'luna').should.be.false; 17 | ``` 18 | 19 | ## License 20 | 21 | (The MIT License) 22 | 23 | Copyright (c) 2012 LearnBoost <tj@learnboost.com> 24 | 25 | Permission is hereby granted, free of charge, to any person obtaining 26 | a copy of this software and associated documentation files (the 27 | 'Software'), to deal in the Software without restriction, including 28 | without limitation the rights to use, copy, modify, merge, publish, 29 | distribute, sublicense, and/or sell copies of the Software, and to 30 | permit persons to whom the Software is furnished to do so, subject to 31 | the following conditions: 32 | 33 | The above copyright notice and this permission notice shall be 34 | included in all copies or substantial portions of the Software. 35 | 36 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 37 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 38 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 39 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 40 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 41 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 42 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/cookie-signature/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Module dependencies. 3 | */ 4 | 5 | var crypto = require('crypto'); 6 | 7 | /** 8 | * Sign the given `val` with `secret`. 9 | * 10 | * @param {String} val 11 | * @param {String} secret 12 | * @return {String} 13 | * @api private 14 | */ 15 | 16 | exports.sign = function(val, secret){ 17 | if ('string' != typeof val) throw new TypeError("Cookie value must be provided as a string."); 18 | if ('string' != typeof secret) throw new TypeError("Secret string must be provided."); 19 | return val + '.' + crypto 20 | .createHmac('sha256', secret) 21 | .update(val) 22 | .digest('base64') 23 | .replace(/\=+$/, ''); 24 | }; 25 | 26 | /** 27 | * Unsign and decode the given `val` with `secret`, 28 | * returning `false` if the signature is invalid. 29 | * 30 | * @param {String} val 31 | * @param {String} secret 32 | * @return {String|Boolean} 33 | * @api private 34 | */ 35 | 36 | exports.unsign = function(val, secret){ 37 | if ('string' != typeof val) throw new TypeError("Signed cookie string must be provided."); 38 | if ('string' != typeof secret) throw new TypeError("Secret string must be provided."); 39 | var str = val.slice(0, val.lastIndexOf('.')) 40 | , mac = exports.sign(str, secret); 41 | 42 | return sha1(mac) == sha1(val) ? str : false; 43 | }; 44 | 45 | /** 46 | * Private 47 | */ 48 | 49 | function sha1(str){ 50 | return crypto.createHash('sha1').update(str).digest('hex'); 51 | } 52 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/cookie-signature/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cookie-signature", 3 | "version": "1.0.6", 4 | "description": "Sign and unsign cookies", 5 | "keywords": [ 6 | "cookie", 7 | "sign", 8 | "unsign" 9 | ], 10 | "author": { 11 | "name": "TJ Holowaychuk", 12 | "email": "tj@learnboost.com" 13 | }, 14 | "license": "MIT", 15 | "repository": { 16 | "type": "git", 17 | "url": "https://github.com/visionmedia/node-cookie-signature.git" 18 | }, 19 | "dependencies": {}, 20 | "devDependencies": { 21 | "mocha": "*", 22 | "should": "*" 23 | }, 24 | "scripts": { 25 | "test": "mocha --require should --reporter spec" 26 | }, 27 | "main": "index", 28 | "gitHead": "391b56cf44d88c493491b7e3fc53208cfb976d2a", 29 | "bugs": { 30 | "url": "https://github.com/visionmedia/node-cookie-signature/issues" 31 | }, 32 | "homepage": "https://github.com/visionmedia/node-cookie-signature", 33 | "_id": "cookie-signature@1.0.6", 34 | "_shasum": "e303a882b342cc3ee8ca513a79999734dab3ae2c", 35 | "_from": "cookie-signature@1.0.6", 36 | "_npmVersion": "2.3.0", 37 | "_nodeVersion": "0.10.36", 38 | "_npmUser": { 39 | "name": "natevw", 40 | "email": "natevw@yahoo.com" 41 | }, 42 | "maintainers": [ 43 | { 44 | "name": "tjholowaychuk", 45 | "email": "tj@vision-media.ca" 46 | }, 47 | { 48 | "name": "natevw", 49 | "email": "natevw@yahoo.com" 50 | } 51 | ], 52 | "dist": { 53 | "shasum": "e303a882b342cc3ee8ca513a79999734dab3ae2c", 54 | "tarball": "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" 55 | }, 56 | "directories": {}, 57 | "_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 58 | "readme": "ERROR: No README data found!" 59 | } 60 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/cookie/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | .travis.yml 3 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/cookie/LICENSE: -------------------------------------------------------------------------------- 1 | // MIT License 2 | 3 | Copyright (C) Roman Shtylman 4 | 5 | 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: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | 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. 10 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/cookie/README.md: -------------------------------------------------------------------------------- 1 | # cookie [![Build Status](https://secure.travis-ci.org/defunctzombie/node-cookie.png?branch=master)](http://travis-ci.org/defunctzombie/node-cookie) # 2 | 3 | cookie 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. 4 | 5 | See [RFC6265](http://tools.ietf.org/html/rfc6265) for details about the http header for cookies. 6 | 7 | ## how? 8 | 9 | ``` 10 | npm install cookie 11 | ``` 12 | 13 | ```javascript 14 | var cookie = require('cookie'); 15 | 16 | var hdr = cookie.serialize('foo', 'bar'); 17 | // hdr = 'foo=bar'; 18 | 19 | var cookies = cookie.parse('foo=bar; cat=meow; dog=ruff'); 20 | // cookies = { foo: 'bar', cat: 'meow', dog: 'ruff' }; 21 | ``` 22 | 23 | ## more 24 | 25 | The serialize function takes a third parameter, an object, to set cookie options. See the RFC for valid values. 26 | 27 | ### path 28 | > cookie path 29 | 30 | ### expires 31 | > absolute expiration date for the cookie (Date object) 32 | 33 | ### maxAge 34 | > relative max age of the cookie from when the client receives it (seconds) 35 | 36 | ### domain 37 | > domain for the cookie 38 | 39 | ### secure 40 | > true or false 41 | 42 | ### httpOnly 43 | > true or false 44 | 45 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/cookie/index.js: -------------------------------------------------------------------------------- 1 | 2 | /// Serialize the a name value pair into a cookie string suitable for 3 | /// http headers. An optional options object specified cookie parameters 4 | /// 5 | /// serialize('foo', 'bar', { httpOnly: true }) 6 | /// => "foo=bar; httpOnly" 7 | /// 8 | /// @param {String} name 9 | /// @param {String} val 10 | /// @param {Object} options 11 | /// @return {String} 12 | var serialize = function(name, val, opt){ 13 | opt = opt || {}; 14 | var enc = opt.encode || encode; 15 | var pairs = [name + '=' + enc(val)]; 16 | 17 | if (null != opt.maxAge) { 18 | var maxAge = opt.maxAge - 0; 19 | if (isNaN(maxAge)) throw new Error('maxAge should be a Number'); 20 | pairs.push('Max-Age=' + maxAge); 21 | } 22 | 23 | if (opt.domain) pairs.push('Domain=' + opt.domain); 24 | if (opt.path) pairs.push('Path=' + opt.path); 25 | if (opt.expires) pairs.push('Expires=' + opt.expires.toUTCString()); 26 | if (opt.httpOnly) pairs.push('HttpOnly'); 27 | if (opt.secure) pairs.push('Secure'); 28 | 29 | return pairs.join('; '); 30 | }; 31 | 32 | /// Parse the given cookie header string into an object 33 | /// The object has the various cookies as keys(names) => values 34 | /// @param {String} str 35 | /// @return {Object} 36 | var parse = function(str, opt) { 37 | opt = opt || {}; 38 | var obj = {} 39 | var pairs = str.split(/; */); 40 | var dec = opt.decode || decode; 41 | 42 | pairs.forEach(function(pair) { 43 | var eq_idx = pair.indexOf('=') 44 | 45 | // skip things that don't look like key=value 46 | if (eq_idx < 0) { 47 | return; 48 | } 49 | 50 | var key = pair.substr(0, eq_idx).trim() 51 | var val = pair.substr(++eq_idx, pair.length).trim(); 52 | 53 | // quoted values 54 | if ('"' == val[0]) { 55 | val = val.slice(1, -1); 56 | } 57 | 58 | // only assign once 59 | if (undefined == obj[key]) { 60 | try { 61 | obj[key] = dec(val); 62 | } catch (e) { 63 | obj[key] = val; 64 | } 65 | } 66 | }); 67 | 68 | return obj; 69 | }; 70 | 71 | var encode = encodeURIComponent; 72 | var decode = decodeURIComponent; 73 | 74 | module.exports.serialize = serialize; 75 | module.exports.parse = parse; 76 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/cookie/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "name": "Roman Shtylman", 4 | "email": "shtylman@gmail.com" 5 | }, 6 | "name": "cookie", 7 | "description": "cookie parsing and serialization", 8 | "version": "0.1.2", 9 | "repository": { 10 | "type": "git", 11 | "url": "git://github.com/shtylman/node-cookie.git" 12 | }, 13 | "keywords": [ 14 | "cookie", 15 | "cookies" 16 | ], 17 | "main": "index.js", 18 | "scripts": { 19 | "test": "mocha" 20 | }, 21 | "dependencies": {}, 22 | "devDependencies": { 23 | "mocha": "1.x.x" 24 | }, 25 | "optionalDependencies": {}, 26 | "engines": { 27 | "node": "*" 28 | }, 29 | "bugs": { 30 | "url": "https://github.com/shtylman/node-cookie/issues" 31 | }, 32 | "homepage": "https://github.com/shtylman/node-cookie", 33 | "_id": "cookie@0.1.2", 34 | "dist": { 35 | "shasum": "72fec3d24e48a3432073d90c12642005061004b1", 36 | "tarball": "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz" 37 | }, 38 | "_from": "cookie@0.1.2", 39 | "_npmVersion": "1.4.6", 40 | "_npmUser": { 41 | "name": "shtylman", 42 | "email": "shtylman@gmail.com" 43 | }, 44 | "maintainers": [ 45 | { 46 | "name": "shtylman", 47 | "email": "shtylman@gmail.com" 48 | } 49 | ], 50 | "directories": {}, 51 | "_shasum": "72fec3d24e48a3432073d90c12642005061004b1", 52 | "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz", 53 | "readme": "ERROR: No README data found!" 54 | } 55 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/depd/History.md: -------------------------------------------------------------------------------- 1 | 1.0.0 / 2014-09-17 2 | ================== 3 | 4 | * No changes 5 | 6 | 0.4.5 / 2014-09-09 7 | ================== 8 | 9 | * Improve call speed to functions using the function wrapper 10 | * Support Node.js 0.6 11 | 12 | 0.4.4 / 2014-07-27 13 | ================== 14 | 15 | * Work-around v8 generating empty stack traces 16 | 17 | 0.4.3 / 2014-07-26 18 | ================== 19 | 20 | * Fix exception when global `Error.stackTraceLimit` is too low 21 | 22 | 0.4.2 / 2014-07-19 23 | ================== 24 | 25 | * Correct call site for wrapped functions and properties 26 | 27 | 0.4.1 / 2014-07-19 28 | ================== 29 | 30 | * Improve automatic message generation for function properties 31 | 32 | 0.4.0 / 2014-07-19 33 | ================== 34 | 35 | * Add `TRACE_DEPRECATION` environment variable 36 | * Remove non-standard grey color from color output 37 | * Support `--no-deprecation` argument 38 | * Support `--trace-deprecation` argument 39 | * Support `deprecate.property(fn, prop, message)` 40 | 41 | 0.3.0 / 2014-06-16 42 | ================== 43 | 44 | * Add `NO_DEPRECATION` environment variable 45 | 46 | 0.2.0 / 2014-06-15 47 | ================== 48 | 49 | * Add `deprecate.property(obj, prop, message)` 50 | * Remove `supports-color` dependency for node.js 0.8 51 | 52 | 0.1.0 / 2014-06-15 53 | ================== 54 | 55 | * Add `deprecate.function(fn, message)` 56 | * Add `process.on('deprecation', fn)` emitter 57 | * Automatically generate message when omitted from `deprecate()` 58 | 59 | 0.0.1 / 2014-06-15 60 | ================== 61 | 62 | * Fix warning for dynamic calls at singe call site 63 | 64 | 0.0.0 / 2014-06-15 65 | ================== 66 | 67 | * Initial implementation 68 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/depd/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/depd/lib/compat/buffer-concat.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2014 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | */ 10 | 11 | module.exports = bufferConcat 12 | 13 | /** 14 | * Concatenate an array of Buffers. 15 | */ 16 | 17 | function bufferConcat(bufs) { 18 | var length = 0 19 | 20 | for (var i = 0, len = bufs.length; i < len; i++) { 21 | length += bufs[i].length 22 | } 23 | 24 | var buf = new Buffer(length) 25 | var pos = 0 26 | 27 | for (var i = 0, len = bufs.length; i < len; i++) { 28 | bufs[i].copy(buf, pos) 29 | pos += bufs[i].length 30 | } 31 | 32 | return buf 33 | } 34 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/depd/lib/compat/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2014 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | */ 10 | 11 | lazyProperty(module.exports, 'bufferConcat', function bufferConcat() { 12 | return Buffer.concat || require('./buffer-concat') 13 | }) 14 | 15 | lazyProperty(module.exports, 'callSiteToString', function callSiteToString() { 16 | var limit = Error.stackTraceLimit 17 | var obj = {} 18 | var prep = Error.prepareStackTrace 19 | 20 | function prepareObjectStackTrace(obj, stack) { 21 | return stack 22 | } 23 | 24 | Error.prepareStackTrace = prepareObjectStackTrace 25 | Error.stackTraceLimit = 2 26 | 27 | // capture the stack 28 | Error.captureStackTrace(obj) 29 | 30 | // slice the stack 31 | var stack = obj.stack.slice() 32 | 33 | Error.prepareStackTrace = prep 34 | Error.stackTraceLimit = limit 35 | 36 | return stack[0].toString ? toString : require('./callsite-tostring') 37 | }) 38 | 39 | /** 40 | * Define a lazy property. 41 | */ 42 | 43 | function lazyProperty(obj, prop, getter) { 44 | function get() { 45 | var val = getter() 46 | 47 | Object.defineProperty(obj, prop, { 48 | configurable: true, 49 | enumerable: true, 50 | value: val 51 | }) 52 | 53 | return val 54 | } 55 | 56 | Object.defineProperty(obj, prop, { 57 | configurable: true, 58 | enumerable: true, 59 | get: get 60 | }) 61 | } 62 | 63 | /** 64 | * Call toString() on the obj 65 | */ 66 | 67 | function toString(obj) { 68 | return obj.toString() 69 | } 70 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/escape-html/.npmignore: -------------------------------------------------------------------------------- 1 | components 2 | build 3 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/escape-html/Makefile: -------------------------------------------------------------------------------- 1 | 2 | build: components index.js 3 | @component build 4 | 5 | components: 6 | @Component install 7 | 8 | clean: 9 | rm -fr build components template.js 10 | 11 | .PHONY: clean 12 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/escape-html/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # escape-html 3 | 4 | Escape HTML entities 5 | 6 | ## Example 7 | 8 | ```js 9 | var escape = require('escape-html'); 10 | escape(str); 11 | ``` 12 | 13 | ## License 14 | 15 | MIT -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/escape-html/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "escape-html", 3 | "description": "Escape HTML entities", 4 | "version": "1.0.1", 5 | "keywords": ["escape", "html", "utility"], 6 | "dependencies": {}, 7 | "scripts": [ 8 | "index.js" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/escape-html/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Escape special characters in the given string of html. 3 | * 4 | * @param {String} html 5 | * @return {String} 6 | * @api private 7 | */ 8 | 9 | module.exports = function(html) { 10 | return String(html) 11 | .replace(/&/g, '&') 12 | .replace(/"/g, '"') 13 | .replace(/'/g, ''') 14 | .replace(//g, '>'); 16 | } 17 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/escape-html/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "escape-html", 3 | "description": "Escape HTML entities", 4 | "version": "1.0.1", 5 | "keywords": [ 6 | "escape", 7 | "html", 8 | "utility" 9 | ], 10 | "dependencies": {}, 11 | "main": "index.js", 12 | "component": { 13 | "scripts": { 14 | "escape-html/index.js": "index.js" 15 | } 16 | }, 17 | "repository": { 18 | "type": "git", 19 | "url": "https://github.com/component/escape-html.git" 20 | }, 21 | "bugs": { 22 | "url": "https://github.com/component/escape-html/issues" 23 | }, 24 | "homepage": "https://github.com/component/escape-html", 25 | "_id": "escape-html@1.0.1", 26 | "dist": { 27 | "shasum": "181a286ead397a39a92857cfb1d43052e356bff0", 28 | "tarball": "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz" 29 | }, 30 | "_from": "escape-html@1.0.1", 31 | "_npmVersion": "1.3.15", 32 | "_npmUser": { 33 | "name": "tjholowaychuk", 34 | "email": "tj@vision-media.ca" 35 | }, 36 | "maintainers": [ 37 | { 38 | "name": "tjholowaychuk", 39 | "email": "tj@vision-media.ca" 40 | } 41 | ], 42 | "directories": {}, 43 | "_shasum": "181a286ead397a39a92857cfb1d43052e356bff0", 44 | "_resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz", 45 | "readme": "ERROR: No README data found!" 46 | } 47 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/etag/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.5.1 / 2014-11-19 2 | ================== 3 | 4 | * deps: crc@3.2.1 5 | - Minor fixes 6 | 7 | 1.5.0 / 2014-10-14 8 | ================== 9 | 10 | * Improve string performance 11 | * Slightly improve speed for weak ETags over 1KB 12 | 13 | 1.4.0 / 2014-09-21 14 | ================== 15 | 16 | * Support "fake" stats objects 17 | * Support Node.js 0.6 18 | 19 | 1.3.1 / 2014-09-14 20 | ================== 21 | 22 | * Use the (new and improved) `crc` for crc32 23 | 24 | 1.3.0 / 2014-08-29 25 | ================== 26 | 27 | * Default strings to strong ETags 28 | * Improve speed for weak ETags over 1KB 29 | 30 | 1.2.1 / 2014-08-29 31 | ================== 32 | 33 | * Use the (much faster) `buffer-crc32` for crc32 34 | 35 | 1.2.0 / 2014-08-24 36 | ================== 37 | 38 | * Add support for file stat objects 39 | 40 | 1.1.0 / 2014-08-24 41 | ================== 42 | 43 | * Add fast-path for empty entity 44 | * Add weak ETag generation 45 | * Shrink size of generated ETags 46 | 47 | 1.0.1 / 2014-08-24 48 | ================== 49 | 50 | * Fix behavior of string containing Unicode 51 | 52 | 1.0.0 / 2014-05-18 53 | ================== 54 | 55 | * Initial release 56 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/etag/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/etag/node_modules/crc/.npmignore: -------------------------------------------------------------------------------- 1 | benchmark 2 | src 3 | test 4 | .travis.yml 5 | bitcoin.png 6 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/etag/node_modules/crc/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2014 Alex Gorbatchev 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/etag/node_modules/crc/lib/crc.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.7.1 2 | var CRC, hex; 3 | 4 | hex = require('./hex'); 5 | 6 | module.exports = CRC = (function() { 7 | CRC.prototype.INIT_CRC = 0x00; 8 | 9 | CRC.prototype.XOR_MASK = 0x00; 10 | 11 | CRC.prototype.WIDTH = 0; 12 | 13 | CRC.prototype.pack = function(crc) { 14 | return ''; 15 | }; 16 | 17 | CRC.prototype.each_byte = function(buf, cb) { 18 | var i, _i, _ref, _results; 19 | if (!Buffer.isBuffer(buf)) { 20 | buf = Buffer(buf); 21 | } 22 | _results = []; 23 | for (i = _i = 0, _ref = buf.length - 1; 0 <= _ref ? _i <= _ref : _i >= _ref; i = 0 <= _ref ? ++_i : --_i) { 24 | _results.push(cb(buf[i])); 25 | } 26 | return _results; 27 | }; 28 | 29 | function CRC() { 30 | this.crc = this.INIT_CRC; 31 | } 32 | 33 | CRC.prototype.digest_length = function() { 34 | return Math.ceil(this.WIDTH / 8.0); 35 | }; 36 | 37 | CRC.prototype.update = function(data) {}; 38 | 39 | CRC.prototype.reset = function() { 40 | return this.crc = this.INIT_CRC; 41 | }; 42 | 43 | CRC.prototype.checksum = function(signed) { 44 | var sum; 45 | if (signed == null) { 46 | signed = true; 47 | } 48 | sum = this.crc ^ this.XOR_MASK; 49 | if (signed) { 50 | sum = sum >>> 0; 51 | } 52 | return sum; 53 | }; 54 | 55 | CRC.prototype.finish = function() { 56 | return this.pack(this.checksum()); 57 | }; 58 | 59 | CRC.prototype.hexdigest = function(value) { 60 | var result; 61 | if (value != null) { 62 | this.update(value); 63 | } 64 | result = this.finish(); 65 | this.reset(); 66 | return result; 67 | }; 68 | 69 | return CRC; 70 | 71 | })(); 72 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/etag/node_modules/crc/lib/crc1.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.7.1 2 | var Buffer, create; 3 | 4 | Buffer = require('buffer').Buffer; 5 | 6 | create = require('./create'); 7 | 8 | module.exports = create('crc1', function(buf, previous) { 9 | var accum, byte, crc, _i, _len; 10 | if (!Buffer.isBuffer(buf)) { 11 | buf = Buffer(buf); 12 | } 13 | crc = ~~previous; 14 | accum = 0; 15 | for (_i = 0, _len = buf.length; _i < _len; _i++) { 16 | byte = buf[_i]; 17 | accum += byte; 18 | } 19 | crc += accum % 256; 20 | return crc % 256; 21 | }); 22 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/etag/node_modules/crc/lib/crc8.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.7.1 2 | var Buffer, TABLE, create; 3 | 4 | Buffer = require('buffer').Buffer; 5 | 6 | create = require('./create'); 7 | 8 | TABLE = [0x00, 0x07, 0x0e, 0x09, 0x1c, 0x1b, 0x12, 0x15, 0x38, 0x3f, 0x36, 0x31, 0x24, 0x23, 0x2a, 0x2d, 0x70, 0x77, 0x7e, 0x79, 0x6c, 0x6b, 0x62, 0x65, 0x48, 0x4f, 0x46, 0x41, 0x54, 0x53, 0x5a, 0x5d, 0xe0, 0xe7, 0xee, 0xe9, 0xfc, 0xfb, 0xf2, 0xf5, 0xd8, 0xdf, 0xd6, 0xd1, 0xc4, 0xc3, 0xca, 0xcd, 0x90, 0x97, 0x9e, 0x99, 0x8c, 0x8b, 0x82, 0x85, 0xa8, 0xaf, 0xa6, 0xa1, 0xb4, 0xb3, 0xba, 0xbd, 0xc7, 0xc0, 0xc9, 0xce, 0xdb, 0xdc, 0xd5, 0xd2, 0xff, 0xf8, 0xf1, 0xf6, 0xe3, 0xe4, 0xed, 0xea, 0xb7, 0xb0, 0xb9, 0xbe, 0xab, 0xac, 0xa5, 0xa2, 0x8f, 0x88, 0x81, 0x86, 0x93, 0x94, 0x9d, 0x9a, 0x27, 0x20, 0x29, 0x2e, 0x3b, 0x3c, 0x35, 0x32, 0x1f, 0x18, 0x11, 0x16, 0x03, 0x04, 0x0d, 0x0a, 0x57, 0x50, 0x59, 0x5e, 0x4b, 0x4c, 0x45, 0x42, 0x6f, 0x68, 0x61, 0x66, 0x73, 0x74, 0x7d, 0x7a, 0x89, 0x8e, 0x87, 0x80, 0x95, 0x92, 0x9b, 0x9c, 0xb1, 0xb6, 0xbf, 0xb8, 0xad, 0xaa, 0xa3, 0xa4, 0xf9, 0xfe, 0xf7, 0xf0, 0xe5, 0xe2, 0xeb, 0xec, 0xc1, 0xc6, 0xcf, 0xc8, 0xdd, 0xda, 0xd3, 0xd4, 0x69, 0x6e, 0x67, 0x60, 0x75, 0x72, 0x7b, 0x7c, 0x51, 0x56, 0x5f, 0x58, 0x4d, 0x4a, 0x43, 0x44, 0x19, 0x1e, 0x17, 0x10, 0x05, 0x02, 0x0b, 0x0c, 0x21, 0x26, 0x2f, 0x28, 0x3d, 0x3a, 0x33, 0x34, 0x4e, 0x49, 0x40, 0x47, 0x52, 0x55, 0x5c, 0x5b, 0x76, 0x71, 0x78, 0x7f, 0x6a, 0x6d, 0x64, 0x63, 0x3e, 0x39, 0x30, 0x37, 0x22, 0x25, 0x2c, 0x2b, 0x06, 0x01, 0x08, 0x0f, 0x1a, 0x1d, 0x14, 0x13, 0xae, 0xa9, 0xa0, 0xa7, 0xb2, 0xb5, 0xbc, 0xbb, 0x96, 0x91, 0x98, 0x9f, 0x8a, 0x8d, 0x84, 0x83, 0xde, 0xd9, 0xd0, 0xd7, 0xc2, 0xc5, 0xcc, 0xcb, 0xe6, 0xe1, 0xe8, 0xef, 0xfa, 0xfd, 0xf4, 0xf3]; 9 | 10 | if (typeof Int32Array !== 'undefined') { 11 | TABLE = new Int32Array(TABLE); 12 | } 13 | 14 | module.exports = create('crc-8', function(buf, previous) { 15 | var byte, crc, _i, _len; 16 | if (!Buffer.isBuffer(buf)) { 17 | buf = Buffer(buf); 18 | } 19 | crc = ~~previous; 20 | for (_i = 0, _len = buf.length; _i < _len; _i++) { 21 | byte = buf[_i]; 22 | crc = TABLE[(crc ^ byte) & 0xff] & 0xff; 23 | } 24 | return crc; 25 | }); 26 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/etag/node_modules/crc/lib/crc8_1wire.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.7.1 2 | var Buffer, TABLE, create; 3 | 4 | Buffer = require('buffer').Buffer; 5 | 6 | create = require('./create'); 7 | 8 | TABLE = [0x00, 0x5e, 0xbc, 0xe2, 0x61, 0x3f, 0xdd, 0x83, 0xc2, 0x9c, 0x7e, 0x20, 0xa3, 0xfd, 0x1f, 0x41, 0x9d, 0xc3, 0x21, 0x7f, 0xfc, 0xa2, 0x40, 0x1e, 0x5f, 0x01, 0xe3, 0xbd, 0x3e, 0x60, 0x82, 0xdc, 0x23, 0x7d, 0x9f, 0xc1, 0x42, 0x1c, 0xfe, 0xa0, 0xe1, 0xbf, 0x5d, 0x03, 0x80, 0xde, 0x3c, 0x62, 0xbe, 0xe0, 0x02, 0x5c, 0xdf, 0x81, 0x63, 0x3d, 0x7c, 0x22, 0xc0, 0x9e, 0x1d, 0x43, 0xa1, 0xff, 0x46, 0x18, 0xfa, 0xa4, 0x27, 0x79, 0x9b, 0xc5, 0x84, 0xda, 0x38, 0x66, 0xe5, 0xbb, 0x59, 0x07, 0xdb, 0x85, 0x67, 0x39, 0xba, 0xe4, 0x06, 0x58, 0x19, 0x47, 0xa5, 0xfb, 0x78, 0x26, 0xc4, 0x9a, 0x65, 0x3b, 0xd9, 0x87, 0x04, 0x5a, 0xb8, 0xe6, 0xa7, 0xf9, 0x1b, 0x45, 0xc6, 0x98, 0x7a, 0x24, 0xf8, 0xa6, 0x44, 0x1a, 0x99, 0xc7, 0x25, 0x7b, 0x3a, 0x64, 0x86, 0xd8, 0x5b, 0x05, 0xe7, 0xb9, 0x8c, 0xd2, 0x30, 0x6e, 0xed, 0xb3, 0x51, 0x0f, 0x4e, 0x10, 0xf2, 0xac, 0x2f, 0x71, 0x93, 0xcd, 0x11, 0x4f, 0xad, 0xf3, 0x70, 0x2e, 0xcc, 0x92, 0xd3, 0x8d, 0x6f, 0x31, 0xb2, 0xec, 0x0e, 0x50, 0xaf, 0xf1, 0x13, 0x4d, 0xce, 0x90, 0x72, 0x2c, 0x6d, 0x33, 0xd1, 0x8f, 0x0c, 0x52, 0xb0, 0xee, 0x32, 0x6c, 0x8e, 0xd0, 0x53, 0x0d, 0xef, 0xb1, 0xf0, 0xae, 0x4c, 0x12, 0x91, 0xcf, 0x2d, 0x73, 0xca, 0x94, 0x76, 0x28, 0xab, 0xf5, 0x17, 0x49, 0x08, 0x56, 0xb4, 0xea, 0x69, 0x37, 0xd5, 0x8b, 0x57, 0x09, 0xeb, 0xb5, 0x36, 0x68, 0x8a, 0xd4, 0x95, 0xcb, 0x29, 0x77, 0xf4, 0xaa, 0x48, 0x16, 0xe9, 0xb7, 0x55, 0x0b, 0x88, 0xd6, 0x34, 0x6a, 0x2b, 0x75, 0x97, 0xc9, 0x4a, 0x14, 0xf6, 0xa8, 0x74, 0x2a, 0xc8, 0x96, 0x15, 0x4b, 0xa9, 0xf7, 0xb6, 0xe8, 0x0a, 0x54, 0xd7, 0x89, 0x6b, 0x35]; 9 | 10 | if (typeof Int32Array !== 'undefined') { 11 | TABLE = new Int32Array(TABLE); 12 | } 13 | 14 | module.exports = create('dallas-1-wire', function(buf, previous) { 15 | var byte, crc, _i, _len; 16 | if (!Buffer.isBuffer(buf)) { 17 | buf = Buffer(buf); 18 | } 19 | crc = ~~previous; 20 | for (_i = 0, _len = buf.length; _i < _len; _i++) { 21 | byte = buf[_i]; 22 | crc = TABLE[(crc ^ byte) & 0xff] & 0xff; 23 | } 24 | return crc; 25 | }); 26 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/etag/node_modules/crc/lib/create.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.7.1 2 | module.exports = function(model, calc) { 3 | var fn; 4 | fn = function(buf, previous) { 5 | return calc(buf, previous) >>> 0; 6 | }; 7 | fn.signed = calc; 8 | fn.unsigned = fn; 9 | fn.model = model; 10 | return fn; 11 | }; 12 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/etag/node_modules/crc/lib/hex.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.7.1 2 | module.exports = function(number) { 3 | var result; 4 | result = number.toString(16); 5 | while (result.length % 2) { 6 | result = "0" + result; 7 | } 8 | return result; 9 | }; 10 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/etag/node_modules/crc/lib/index.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.7.1 2 | module.exports = { 3 | crc1: require('./crc1'), 4 | crc8: require('./crc8'), 5 | crc81wire: require('./crc8_1wire'), 6 | crc16: require('./crc16'), 7 | crc16ccitt: require('./crc16_ccitt'), 8 | crc16modbus: require('./crc16_modbus'), 9 | crc24: require('./crc24'), 10 | crc32: require('./crc32') 11 | }; 12 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/etag/node_modules/crc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "crc", 3 | "version": "3.2.1", 4 | "description": "Various CRC JavaScript implementations", 5 | "keywords": [ 6 | "crc" 7 | ], 8 | "main": "./lib/index.js", 9 | "scripts": { 10 | "test": "mocha test/*.spec.coffee", 11 | "pretest": "coffee --bare --output ./lib --compile ./src/*.coffee" 12 | }, 13 | "author": { 14 | "name": "Alex Gorbatchev", 15 | "url": "https://github.com/alexgorbatchev" 16 | }, 17 | "devDependencies": { 18 | "beautify-benchmark": "^0.2.4", 19 | "benchmark": "^1.0.0", 20 | "buffer-crc32": "^0.2.3", 21 | "chai": "~1.9.1", 22 | "coffee-errors": "~0.8.6", 23 | "coffee-script": "~1.7.1", 24 | "mocha": "*", 25 | "seedrandom": "^2.3.6" 26 | }, 27 | "homepage": "https://github.com/alexgorbatchev/node-crc", 28 | "bugs": { 29 | "url": "https://github.com/alexgorbatchev/node-crc/issues" 30 | }, 31 | "repository": { 32 | "type": "git", 33 | "url": "git://github.com/alexgorbatchev/node-crc.git" 34 | }, 35 | "license": "MIT", 36 | "gitHead": "71caf362b061992bfe4ca8706ee264e764d2e88e", 37 | "_id": "crc@3.2.1", 38 | "_shasum": "5d9c8fb77a245cd5eca291e5d2d005334bab0082", 39 | "_from": "crc@3.2.1", 40 | "_npmVersion": "1.4.13", 41 | "_npmUser": { 42 | "name": "alexgorbatchev", 43 | "email": "alex.gorbatchev@gmail.com" 44 | }, 45 | "maintainers": [ 46 | { 47 | "name": "alexgorbatchev", 48 | "email": "alex.gorbatchev@gmail.com" 49 | } 50 | ], 51 | "dist": { 52 | "shasum": "5d9c8fb77a245cd5eca291e5d2d005334bab0082", 53 | "tarball": "http://registry.npmjs.org/crc/-/crc-3.2.1.tgz" 54 | }, 55 | "directories": {}, 56 | "_resolved": "https://registry.npmjs.org/crc/-/crc-3.2.1.tgz", 57 | "readme": "ERROR: No README data found!" 58 | } 59 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/finalhandler/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.3.3 / 2015-01-01 2 | ================== 3 | 4 | * deps: debug@~2.1.1 5 | * deps: on-finished@~2.2.0 6 | 7 | 0.3.2 / 2014-10-22 8 | ================== 9 | 10 | * deps: on-finished@~2.1.1 11 | - Fix handling of pipelined requests 12 | 13 | 0.3.1 / 2014-10-16 14 | ================== 15 | 16 | * deps: debug@~2.1.0 17 | - Implement `DEBUG_FD` env variable support 18 | 19 | 0.3.0 / 2014-09-17 20 | ================== 21 | 22 | * Terminate in progress response only on error 23 | * Use `on-finished` to determine request status 24 | 25 | 0.2.0 / 2014-09-03 26 | ================== 27 | 28 | * Set `X-Content-Type-Options: nosniff` header 29 | * deps: debug@~2.0.0 30 | 31 | 0.1.0 / 2014-07-16 32 | ================== 33 | 34 | * Respond after request fully read 35 | - prevents hung responses and socket hang ups 36 | * deps: debug@1.0.4 37 | 38 | 0.0.3 / 2014-07-11 39 | ================== 40 | 41 | * deps: debug@1.0.3 42 | - Add support for multiple wildcards in namespaces 43 | 44 | 0.0.2 / 2014-06-19 45 | ================== 46 | 47 | * Handle invalid status codes 48 | 49 | 0.0.1 / 2014-06-05 50 | ================== 51 | 52 | * deps: debug@1.0.2 53 | 54 | 0.0.0 / 2014-06-05 55 | ================== 56 | 57 | * Extracted from connect/express 58 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/finalhandler/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/finalhandler/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "finalhandler", 3 | "description": "Node.js final http responder", 4 | "version": "0.3.3", 5 | "author": { 6 | "name": "Douglas Christopher Wilson", 7 | "email": "doug@somethingdoug.com" 8 | }, 9 | "license": "MIT", 10 | "repository": { 11 | "type": "git", 12 | "url": "https://github.com/pillarjs/finalhandler" 13 | }, 14 | "dependencies": { 15 | "debug": "~2.1.1", 16 | "escape-html": "1.0.1", 17 | "on-finished": "~2.2.0" 18 | }, 19 | "devDependencies": { 20 | "istanbul": "0.3.5", 21 | "mocha": "~2.1.0", 22 | "readable-stream": "~1.0.33", 23 | "supertest": "~0.15.0" 24 | }, 25 | "files": [ 26 | "LICENSE", 27 | "HISTORY.md", 28 | "index.js" 29 | ], 30 | "engines": { 31 | "node": ">= 0.8" 32 | }, 33 | "scripts": { 34 | "test": "mocha --reporter spec --bail --check-leaks test/", 35 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 36 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 37 | }, 38 | "gitHead": "dfce5042f996ba93ac85b9282e6d1cae1561acc6", 39 | "bugs": { 40 | "url": "https://github.com/pillarjs/finalhandler/issues" 41 | }, 42 | "homepage": "https://github.com/pillarjs/finalhandler", 43 | "_id": "finalhandler@0.3.3", 44 | "_shasum": "b1a09aa1e6a607b3541669b09bcb727f460cd426", 45 | "_from": "finalhandler@0.3.3", 46 | "_npmVersion": "1.4.28", 47 | "_npmUser": { 48 | "name": "dougwilson", 49 | "email": "doug@somethingdoug.com" 50 | }, 51 | "maintainers": [ 52 | { 53 | "name": "dougwilson", 54 | "email": "doug@somethingdoug.com" 55 | }, 56 | { 57 | "name": "jongleberry", 58 | "email": "jonathanrichardong@gmail.com" 59 | }, 60 | { 61 | "name": "shtylman", 62 | "email": "shtylman@gmail.com" 63 | }, 64 | { 65 | "name": "tjholowaychuk", 66 | "email": "tj@vision-media.ca" 67 | }, 68 | { 69 | "name": "fishrock123", 70 | "email": "fishrock123@rocketmail.com" 71 | } 72 | ], 73 | "dist": { 74 | "shasum": "b1a09aa1e6a607b3541669b09bcb727f460cd426", 75 | "tarball": "http://registry.npmjs.org/finalhandler/-/finalhandler-0.3.3.tgz" 76 | }, 77 | "directories": {}, 78 | "_resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.3.3.tgz", 79 | "readme": "ERROR: No README data found!" 80 | } 81 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/fresh/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.2.4 / 2014-09-07 2 | ================== 3 | 4 | * Support Node.js 0.6 5 | 6 | 0.2.3 / 2014-09-07 7 | ================== 8 | 9 | * Move repository to jshttp 10 | 11 | 0.2.2 / 2014-02-19 12 | ================== 13 | 14 | * Revert "Fix for blank page on Safari reload" 15 | 16 | 0.2.1 / 2014-01-29 17 | ================== 18 | 19 | * fix: support max-age=0 for end-to-end revalidation 20 | 21 | 0.2.0 / 2013-08-11 22 | ================== 23 | 24 | * fix: return false for no-cache 25 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/fresh/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012 TJ Holowaychuk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/fresh/README.md: -------------------------------------------------------------------------------- 1 | # fresh 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-version-image]][node-version-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | HTTP response freshness testing 10 | 11 | ## Installation 12 | 13 | ``` 14 | $ npm install fresh 15 | ``` 16 | 17 | ## API 18 | 19 | ```js 20 | var fresh = require('fresh') 21 | ``` 22 | 23 | ### fresh(req, res) 24 | 25 | Check freshness of `req` and `res` headers. 26 | 27 | When the cache is "fresh" __true__ is returned, 28 | otherwise __false__ is returned to indicate that 29 | the cache is now stale. 30 | 31 | ## Example 32 | 33 | ```js 34 | var req = { 'if-none-match': 'tobi' }; 35 | var res = { 'etag': 'luna' }; 36 | fresh(req, res); 37 | // => false 38 | 39 | var req = { 'if-none-match': 'tobi' }; 40 | var res = { 'etag': 'tobi' }; 41 | fresh(req, res); 42 | // => true 43 | ``` 44 | 45 | ## License 46 | 47 | [MIT](LICENSE) 48 | 49 | [npm-image]: https://img.shields.io/npm/v/fresh.svg?style=flat 50 | [npm-url]: https://npmjs.org/package/fresh 51 | [node-version-image]: https://img.shields.io/badge/node.js-%3E%3D_0.6-brightgreen.svg?style=flat 52 | [node-version-url]: http://nodejs.org/download/ 53 | [travis-image]: https://img.shields.io/travis/jshttp/fresh.svg?style=flat 54 | [travis-url]: https://travis-ci.org/jshttp/fresh 55 | [coveralls-image]: https://img.shields.io/coveralls/jshttp/fresh.svg?style=flat 56 | [coveralls-url]: https://coveralls.io/r/jshttp/fresh?branch=master 57 | [downloads-image]: https://img.shields.io/npm/dm/fresh.svg?style=flat 58 | [downloads-url]: https://npmjs.org/package/fresh 59 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/fresh/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Expose `fresh()`. 4 | */ 5 | 6 | module.exports = fresh; 7 | 8 | /** 9 | * Check freshness of `req` and `res` headers. 10 | * 11 | * When the cache is "fresh" __true__ is returned, 12 | * otherwise __false__ is returned to indicate that 13 | * the cache is now stale. 14 | * 15 | * @param {Object} req 16 | * @param {Object} res 17 | * @return {Boolean} 18 | * @api public 19 | */ 20 | 21 | function fresh(req, res) { 22 | // defaults 23 | var etagMatches = true; 24 | var notModified = true; 25 | 26 | // fields 27 | var modifiedSince = req['if-modified-since']; 28 | var noneMatch = req['if-none-match']; 29 | var lastModified = res['last-modified']; 30 | var etag = res['etag']; 31 | var cc = req['cache-control']; 32 | 33 | // unconditional request 34 | if (!modifiedSince && !noneMatch) return false; 35 | 36 | // check for no-cache cache request directive 37 | if (cc && cc.indexOf('no-cache') !== -1) return false; 38 | 39 | // parse if-none-match 40 | if (noneMatch) noneMatch = noneMatch.split(/ *, */); 41 | 42 | // if-none-match 43 | if (noneMatch) etagMatches = ~noneMatch.indexOf(etag) || '*' == noneMatch[0]; 44 | 45 | // if-modified-since 46 | if (modifiedSince) { 47 | modifiedSince = new Date(modifiedSince); 48 | lastModified = new Date(lastModified); 49 | notModified = lastModified <= modifiedSince; 50 | } 51 | 52 | return !! (etagMatches && notModified); 53 | } -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/fresh/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fresh", 3 | "description": "HTTP response freshness testing", 4 | "version": "0.2.4", 5 | "author": { 6 | "name": "TJ Holowaychuk", 7 | "email": "tj@vision-media.ca", 8 | "url": "http://tjholowaychuk.com" 9 | }, 10 | "license": "MIT", 11 | "keywords": [ 12 | "fresh", 13 | "http", 14 | "conditional", 15 | "cache" 16 | ], 17 | "repository": { 18 | "type": "git", 19 | "url": "https://github.com/jshttp/fresh" 20 | }, 21 | "devDependencies": { 22 | "istanbul": "0", 23 | "mocha": "1", 24 | "should": "3" 25 | }, 26 | "files": [ 27 | "HISTORY.md", 28 | "LICENSE", 29 | "index.js" 30 | ], 31 | "engines": { 32 | "node": ">= 0.6" 33 | }, 34 | "scripts": { 35 | "test": "mocha --reporter spec --require should", 36 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --require should", 37 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot --require should" 38 | }, 39 | "gitHead": "8440a4ca75fb091dec06e88654b3b1c31d7e7164", 40 | "bugs": { 41 | "url": "https://github.com/jshttp/fresh/issues" 42 | }, 43 | "homepage": "https://github.com/jshttp/fresh", 44 | "_id": "fresh@0.2.4", 45 | "_shasum": "3582499206c9723714190edd74b4604feb4a614c", 46 | "_from": "fresh@0.2.4", 47 | "_npmVersion": "1.4.21", 48 | "_npmUser": { 49 | "name": "dougwilson", 50 | "email": "doug@somethingdoug.com" 51 | }, 52 | "maintainers": [ 53 | { 54 | "name": "tjholowaychuk", 55 | "email": "tj@vision-media.ca" 56 | }, 57 | { 58 | "name": "jonathanong", 59 | "email": "jonathanrichardong@gmail.com" 60 | }, 61 | { 62 | "name": "dougwilson", 63 | "email": "doug@somethingdoug.com" 64 | }, 65 | { 66 | "name": "jongleberry", 67 | "email": "jonathanrichardong@gmail.com" 68 | } 69 | ], 70 | "dist": { 71 | "shasum": "3582499206c9723714190edd74b4604feb4a614c", 72 | "tarball": "http://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz" 73 | }, 74 | "directories": {}, 75 | "_resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz", 76 | "readme": "ERROR: No README data found!" 77 | } 78 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/merge-descriptors/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013 Jonathan Ong 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/merge-descriptors/README.md: -------------------------------------------------------------------------------- 1 | # Merge Descriptors 2 | 3 | Merge objects using descriptors. 4 | 5 | ```js 6 | var thing = { 7 | get name() { 8 | return 'jon' 9 | } 10 | } 11 | 12 | var animal = { 13 | 14 | } 15 | 16 | merge(animal, thing) 17 | 18 | animal.name === 'jon' 19 | ``` 20 | 21 | ## API 22 | 23 | ### merge(destination, source) 24 | 25 | Redefines `destination`'s descriptors with `source`'s. 26 | 27 | ### merge(destination, source, false) 28 | 29 | Defines `source`'s descriptors on `destination` if `destination` does not have 30 | a descriptor by the same name. 31 | 32 | ## License 33 | 34 | [MIT](LICENSE) 35 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/merge-descriptors/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * merge-descriptors 3 | * Copyright(c) 2014 Jonathan Ong 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | * @public 10 | */ 11 | 12 | module.exports = merge 13 | 14 | /** 15 | * Module variables. 16 | * @private 17 | */ 18 | 19 | var hasOwnProperty = Object.prototype.hasOwnProperty 20 | 21 | /** 22 | * Merge the property descriptors of `src` into `dest` 23 | * 24 | * @param {object} dest Object to add descriptors to 25 | * @param {object} src Object to clone descriptors from 26 | * @param {boolean} [redefine=true] Redefine `dest` properties with `src` properties 27 | * @returns {object} Reference to dest 28 | * @public 29 | */ 30 | 31 | function merge(dest, src, redefine) { 32 | if (!dest) { 33 | throw new TypeError('argument dest is required') 34 | } 35 | 36 | if (!src) { 37 | throw new TypeError('argument src is required') 38 | } 39 | 40 | if (redefine === undefined) { 41 | // Default to true 42 | redefine = true 43 | } 44 | 45 | Object.getOwnPropertyNames(src).forEach(function forEachOwnPropertyName(name) { 46 | if (!redefine && hasOwnProperty.call(dest, name)) { 47 | // Skip desriptor 48 | return 49 | } 50 | 51 | // Copy descriptor 52 | var descriptor = Object.getOwnPropertyDescriptor(src, name) 53 | Object.defineProperty(dest, name, descriptor) 54 | }) 55 | 56 | return dest 57 | } 58 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/methods/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.1.1 / 2014-12-30 2 | ================== 3 | 4 | * Improve `browserify` support 5 | 6 | 1.1.0 / 2014-07-05 7 | ================== 8 | 9 | * Add `CONNECT` method 10 | 11 | 1.0.1 / 2014-06-02 12 | ================== 13 | 14 | * Fix module to work with harmony transform 15 | 16 | 1.0.0 / 2014-05-08 17 | ================== 18 | 19 | * Add `PURGE` method 20 | 21 | 0.1.0 / 2013-10-28 22 | ================== 23 | 24 | * Add `http.METHODS` support 25 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/methods/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013-2014 TJ Holowaychuk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/methods/README.md: -------------------------------------------------------------------------------- 1 | # Methods 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-version-image]][node-version-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | HTTP verbs that node core's parser supports. 10 | 11 | 12 | ## Install 13 | 14 | ```bash 15 | $ npm install methods 16 | ``` 17 | 18 | ## API 19 | 20 | ```js 21 | var methods = require('methods') 22 | ``` 23 | 24 | ### methods 25 | 26 | This is an array of lower-case method names that Node.js supports. 27 | 28 | ## License 29 | 30 | [MIT](LICENSE) 31 | 32 | [npm-image]: https://img.shields.io/npm/v/methods.svg?style=flat 33 | [npm-url]: https://npmjs.org/package/methods 34 | [node-version-image]: https://img.shields.io/node/v/methods.svg?style=flat 35 | [node-version-url]: http://nodejs.org/download/ 36 | [travis-image]: https://img.shields.io/travis/jshttp/methods.svg?style=flat 37 | [travis-url]: https://travis-ci.org/jshttp/methods 38 | [coveralls-image]: https://img.shields.io/coveralls/jshttp/methods.svg?style=flat 39 | [coveralls-url]: https://coveralls.io/r/jshttp/methods?branch=master 40 | [downloads-image]: https://img.shields.io/npm/dm/methods.svg?style=flat 41 | [downloads-url]: https://npmjs.org/package/methods 42 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/methods/index.js: -------------------------------------------------------------------------------- 1 | 2 | var http = require('http'); 3 | 4 | /* istanbul ignore next: implementation differs on version */ 5 | if (http.METHODS) { 6 | 7 | module.exports = http.METHODS.map(function(method){ 8 | return method.toLowerCase(); 9 | }); 10 | 11 | } else { 12 | 13 | module.exports = [ 14 | 'get', 15 | 'post', 16 | 'put', 17 | 'head', 18 | 'delete', 19 | 'options', 20 | 'trace', 21 | 'copy', 22 | 'lock', 23 | 'mkcol', 24 | 'move', 25 | 'purge', 26 | 'propfind', 27 | 'proppatch', 28 | 'unlock', 29 | 'report', 30 | 'mkactivity', 31 | 'checkout', 32 | 'merge', 33 | 'm-search', 34 | 'notify', 35 | 'subscribe', 36 | 'unsubscribe', 37 | 'patch', 38 | 'search', 39 | 'connect' 40 | ]; 41 | 42 | } 43 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/on-finished/HISTORY.md: -------------------------------------------------------------------------------- 1 | 2.2.0 / 2014-12-22 2 | ================== 3 | 4 | * Add message object to callback arguments 5 | 6 | 2.1.1 / 2014-10-22 7 | ================== 8 | 9 | * Fix handling of pipelined requests 10 | 11 | 2.1.0 / 2014-08-16 12 | ================== 13 | 14 | * Check if `socket` is detached 15 | * Return `undefined` for `isFinished` if state unknown 16 | 17 | 2.0.0 / 2014-08-16 18 | ================== 19 | 20 | * Add `isFinished` function 21 | * Move to `jshttp` organization 22 | * Remove support for plain socket argument 23 | * Rename to `on-finished` 24 | * Support both `req` and `res` as arguments 25 | * deps: ee-first@1.0.5 26 | 27 | 1.2.2 / 2014-06-10 28 | ================== 29 | 30 | * Reduce listeners added to emitters 31 | - avoids "event emitter leak" warnings when used multiple times on same request 32 | 33 | 1.2.1 / 2014-06-08 34 | ================== 35 | 36 | * Fix returned value when already finished 37 | 38 | 1.2.0 / 2014-06-05 39 | ================== 40 | 41 | * Call callback when called on already-finished socket 42 | 43 | 1.1.4 / 2014-05-27 44 | ================== 45 | 46 | * Support node.js 0.8 47 | 48 | 1.1.3 / 2014-04-30 49 | ================== 50 | 51 | * Make sure errors passed as instanceof `Error` 52 | 53 | 1.1.2 / 2014-04-18 54 | ================== 55 | 56 | * Default the `socket` to passed-in object 57 | 58 | 1.1.1 / 2014-01-16 59 | ================== 60 | 61 | * Rename module to `finished` 62 | 63 | 1.1.0 / 2013-12-25 64 | ================== 65 | 66 | * Call callback when called on already-errored socket 67 | 68 | 1.0.1 / 2013-12-20 69 | ================== 70 | 71 | * Actually pass the error to the callback 72 | 73 | 1.0.0 / 2013-12-20 74 | ================== 75 | 76 | * Initial release 77 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/on-finished/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013 Jonathan Ong 4 | Copyright (c) 2014 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/on-finished/node_modules/ee-first/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/on-finished/node_modules/ee-first/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = function first(stuff, done) { 3 | if (!Array.isArray(stuff)) 4 | throw new TypeError('arg must be an array of [ee, events...] arrays') 5 | 6 | var cleanups = [] 7 | 8 | for (var i = 0; i < stuff.length; i++) { 9 | var arr = stuff[i] 10 | 11 | if (!Array.isArray(arr) || arr.length < 2) 12 | throw new TypeError('each array member must be [ee, events...]') 13 | 14 | var ee = arr[0] 15 | 16 | for (var j = 1; j < arr.length; j++) { 17 | var event = arr[j] 18 | var fn = listener(event, callback) 19 | 20 | // listen to the event 21 | ee.on(event, fn) 22 | // push this listener to the list of cleanups 23 | cleanups.push({ 24 | ee: ee, 25 | event: event, 26 | fn: fn, 27 | }) 28 | } 29 | } 30 | 31 | function callback() { 32 | cleanup() 33 | done.apply(null, arguments) 34 | } 35 | 36 | function cleanup() { 37 | var x 38 | for (var i = 0; i < cleanups.length; i++) { 39 | x = cleanups[i] 40 | x.ee.removeListener(x.event, x.fn) 41 | } 42 | } 43 | 44 | function thunk(fn) { 45 | done = fn 46 | } 47 | 48 | thunk.cancel = cleanup 49 | 50 | return thunk 51 | } 52 | 53 | function listener(event, done) { 54 | return function onevent(arg1) { 55 | var args = new Array(arguments.length) 56 | var ee = this 57 | var err = event === 'error' 58 | ? arg1 59 | : null 60 | 61 | // copy args to prevent arguments escaping scope 62 | for (var i = 0; i < args.length; i++) { 63 | args[i] = arguments[i] 64 | } 65 | 66 | done(err, ee, event, args) 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/on-finished/node_modules/ee-first/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ee-first", 3 | "description": "return the first event in a set of ee/event pairs", 4 | "version": "1.1.0", 5 | "author": { 6 | "name": "Jonathan Ong", 7 | "email": "me@jongleberry.com", 8 | "url": "http://jongleberry.com" 9 | }, 10 | "contributors": [ 11 | { 12 | "name": "Douglas Christopher Wilson", 13 | "email": "doug@somethingdoug.com" 14 | } 15 | ], 16 | "license": "MIT", 17 | "repository": { 18 | "type": "git", 19 | "url": "https://github.com/jonathanong/ee-first" 20 | }, 21 | "devDependencies": { 22 | "istanbul": "0.3.2", 23 | "mocha": "1" 24 | }, 25 | "files": [ 26 | "index.js", 27 | "LICENSE" 28 | ], 29 | "scripts": { 30 | "test": "mocha --reporter spec --bail --check-leaks test/", 31 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 32 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 33 | }, 34 | "gitHead": "a6412004da4745941af2fc98ec30c8da570da7ea", 35 | "bugs": { 36 | "url": "https://github.com/jonathanong/ee-first/issues" 37 | }, 38 | "homepage": "https://github.com/jonathanong/ee-first", 39 | "_id": "ee-first@1.1.0", 40 | "_shasum": "6a0d7c6221e490feefd92ec3f441c9ce8cd097f4", 41 | "_from": "ee-first@1.1.0", 42 | "_npmVersion": "1.4.21", 43 | "_npmUser": { 44 | "name": "dougwilson", 45 | "email": "doug@somethingdoug.com" 46 | }, 47 | "maintainers": [ 48 | { 49 | "name": "jongleberry", 50 | "email": "jonathanrichardong@gmail.com" 51 | }, 52 | { 53 | "name": "dougwilson", 54 | "email": "doug@somethingdoug.com" 55 | } 56 | ], 57 | "dist": { 58 | "shasum": "6a0d7c6221e490feefd92ec3f441c9ce8cd097f4", 59 | "tarball": "http://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz" 60 | }, 61 | "directories": {}, 62 | "_resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz", 63 | "readme": "ERROR: No README data found!" 64 | } 65 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/on-finished/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "on-finished", 3 | "description": "Execute a callback when a request closes, finishes, or errors", 4 | "version": "2.2.0", 5 | "contributors": [ 6 | { 7 | "name": "Douglas Christopher Wilson", 8 | "email": "doug@somethingdoug.com" 9 | }, 10 | { 11 | "name": "Jonathan Ong", 12 | "email": "me@jongleberry.com", 13 | "url": "http://jongleberry.com" 14 | } 15 | ], 16 | "license": "MIT", 17 | "repository": { 18 | "type": "git", 19 | "url": "https://github.com/jshttp/on-finished" 20 | }, 21 | "dependencies": { 22 | "ee-first": "1.1.0" 23 | }, 24 | "devDependencies": { 25 | "istanbul": "0.3.5", 26 | "mocha": "~2.0.1" 27 | }, 28 | "engines": { 29 | "node": ">= 0.8" 30 | }, 31 | "files": [ 32 | "HISTORY.md", 33 | "LICENSE", 34 | "index.js" 35 | ], 36 | "scripts": { 37 | "test": "mocha --reporter spec --bail --check-leaks test/", 38 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 39 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 40 | }, 41 | "gitHead": "fcd56f5674721cac92a16eff93547929716f5192", 42 | "bugs": { 43 | "url": "https://github.com/jshttp/on-finished/issues" 44 | }, 45 | "homepage": "https://github.com/jshttp/on-finished", 46 | "_id": "on-finished@2.2.0", 47 | "_shasum": "e6ba6a09a3482d6b7969bc3da92c86f0a967605e", 48 | "_from": "on-finished@~2.2.0", 49 | "_npmVersion": "1.4.28", 50 | "_npmUser": { 51 | "name": "dougwilson", 52 | "email": "doug@somethingdoug.com" 53 | }, 54 | "maintainers": [ 55 | { 56 | "name": "dougwilson", 57 | "email": "doug@somethingdoug.com" 58 | }, 59 | { 60 | "name": "jongleberry", 61 | "email": "jonathanrichardong@gmail.com" 62 | } 63 | ], 64 | "dist": { 65 | "shasum": "e6ba6a09a3482d6b7969bc3da92c86f0a967605e", 66 | "tarball": "http://registry.npmjs.org/on-finished/-/on-finished-2.2.0.tgz" 67 | }, 68 | "directories": {}, 69 | "_resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.2.0.tgz", 70 | "readme": "ERROR: No README data found!" 71 | } 72 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/parseurl/.npmignore: -------------------------------------------------------------------------------- 1 | benchmark/ 2 | coverage/ 3 | test/ 4 | .travis.yml 5 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/parseurl/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.3.0 / 2014-08-09 2 | ================== 3 | 4 | * Add `parseurl.original` for parsing `req.originalUrl` with fallback 5 | * Return `undefined` if `req.url` is `undefined` 6 | 7 | 1.2.0 / 2014-07-21 8 | ================== 9 | 10 | * Cache URLs based on original value 11 | * Remove no-longer-needed URL mis-parse work-around 12 | * Simplify the "fast-path" `RegExp` 13 | 14 | 1.1.3 / 2014-07-08 15 | ================== 16 | 17 | * Fix typo 18 | 19 | 1.1.2 / 2014-07-08 20 | ================== 21 | 22 | * Seriously fix Node.js 0.8 compatibility 23 | 24 | 1.1.1 / 2014-07-08 25 | ================== 26 | 27 | * Fix Node.js 0.8 compatibility 28 | 29 | 1.1.0 / 2014-07-08 30 | ================== 31 | 32 | * Incorporate URL href-only parse fast-path 33 | 34 | 1.0.1 / 2014-03-08 35 | ================== 36 | 37 | * Add missing `require` 38 | 39 | 1.0.0 / 2014-03-08 40 | ================== 41 | 42 | * Genesis from `connect` 43 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/parseurl/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | (The MIT License) 3 | 4 | Copyright (c) 2014 Jonathan Ong 5 | Copyright (c) 2014 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/path-to-regexp/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/path-to-regexp/History.md: -------------------------------------------------------------------------------- 1 | 0.1.3 / 2014-07-06 2 | ================== 3 | 4 | * Better array support 5 | * Improved support for trailing slash in non-ending mode 6 | 7 | 0.1.0 / 2014-03-06 8 | ================== 9 | 10 | * add options.end 11 | 12 | 0.0.2 / 2013-02-10 13 | ================== 14 | 15 | * Update to match current express 16 | * add .license property to component.json 17 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/path-to-regexp/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # Path-to-RegExp 3 | 4 | Turn an Express-style path string such as `/user/:name` into a regular expression. 5 | 6 | ## Usage 7 | 8 | ```javascript 9 | var pathToRegexp = require('path-to-regexp'); 10 | ``` 11 | ### pathToRegexp(path, keys, options) 12 | 13 | - **path** A string in the express format, an array of such strings, or a regular expression 14 | - **keys** An array to be populated with the keys present in the url. Once the function completes, this will be an array of strings. 15 | - **options** 16 | - **options.sensitive** Defaults to false, set this to true to make routes case sensitive 17 | - **options.strict** Defaults to false, set this to true to make the trailing slash matter. 18 | - **options.end** Defaults to true, set this to false to only match the prefix of the URL. 19 | 20 | ```javascript 21 | var keys = []; 22 | var exp = pathToRegexp('/foo/:bar', keys); 23 | //keys = ['bar'] 24 | //exp = /^\/foo\/(?:([^\/]+?))\/?$/i 25 | ``` 26 | 27 | ## Live Demo 28 | 29 | You can see a live demo of this library in use at [express-route-tester](http://forbeslindesay.github.com/express-route-tester/). 30 | 31 | ## License 32 | 33 | MIT -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/path-to-regexp/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "path-to-regexp", 3 | "description": "Express style path to RegExp utility", 4 | "version": "0.1.3", 5 | "keywords": [ 6 | "express", 7 | "regexp", 8 | "route", 9 | "routing" 10 | ], 11 | "scripts": [ 12 | "index.js" 13 | ], 14 | "license": "MIT" 15 | } 16 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/path-to-regexp/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Expose `pathtoRegexp`. 3 | */ 4 | 5 | module.exports = pathtoRegexp; 6 | 7 | /** 8 | * Normalize the given path string, 9 | * returning a regular expression. 10 | * 11 | * An empty array should be passed, 12 | * which will contain the placeholder 13 | * key names. For example "/user/:id" will 14 | * then contain ["id"]. 15 | * 16 | * @param {String|RegExp|Array} path 17 | * @param {Array} keys 18 | * @param {Object} options 19 | * @return {RegExp} 20 | * @api private 21 | */ 22 | 23 | function pathtoRegexp(path, keys, options) { 24 | options = options || {}; 25 | var strict = options.strict; 26 | var end = options.end !== false; 27 | var flags = options.sensitive ? '' : 'i'; 28 | keys = keys || []; 29 | 30 | if (path instanceof RegExp) { 31 | return path; 32 | } 33 | 34 | if (Array.isArray(path)) { 35 | // Map array parts into regexps and return their source. We also pass 36 | // the same keys and options instance into every generation to get 37 | // consistent matching groups before we join the sources together. 38 | path = path.map(function (value) { 39 | return pathtoRegexp(value, keys, options).source; 40 | }); 41 | 42 | return new RegExp('(?:' + path.join('|') + ')', flags); 43 | } 44 | 45 | path = ('^' + path + (strict ? '' : path[path.length - 1] === '/' ? '?' : '/?')) 46 | .replace(/\/\(/g, '/(?:') 47 | .replace(/([\/\.])/g, '\\$1') 48 | .replace(/(\\\/)?(\\\.)?:(\w+)(\(.*?\))?(\*)?(\?)?/g, function (match, slash, format, key, capture, star, optional) { 49 | slash = slash || ''; 50 | format = format || ''; 51 | capture = capture || '([^\\/' + format + ']+?)'; 52 | optional = optional || ''; 53 | 54 | keys.push({ name: key, optional: !!optional }); 55 | 56 | return '' 57 | + (optional ? '' : slash) 58 | + '(?:' 59 | + format + (optional ? slash : '') + capture 60 | + (star ? '((?:[\\/' + format + '].+?)?)' : '') 61 | + ')' 62 | + optional; 63 | }) 64 | .replace(/\*/g, '(.*)'); 65 | 66 | // If the path is non-ending, match until the end or a slash. 67 | path += (end ? '$' : (path[path.length - 1] === '/' ? '' : '(?=\\/|$)')); 68 | 69 | return new RegExp(path, flags); 70 | }; 71 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/proxy-addr/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.7 / 2015-03-16 2 | ================== 3 | 4 | * deps: ipaddr.js@0.1.9 5 | - Fix OOM on certain inputs to `isValid` 6 | 7 | 1.0.6 / 2015-02-01 8 | ================== 9 | 10 | * deps: ipaddr.js@0.1.8 11 | 12 | 1.0.5 / 2015-01-08 13 | ================== 14 | 15 | * deps: ipaddr.js@0.1.6 16 | 17 | 1.0.4 / 2014-11-23 18 | ================== 19 | 20 | * deps: ipaddr.js@0.1.5 21 | - Fix edge cases with `isValid` 22 | 23 | 1.0.3 / 2014-09-21 24 | ================== 25 | 26 | * Use `forwarded` npm module 27 | 28 | 1.0.2 / 2014-09-18 29 | ================== 30 | 31 | * Fix a global leak when multiple subnets are trusted 32 | * Support Node.js 0.6 33 | * deps: ipaddr.js@0.1.3 34 | 35 | 1.0.1 / 2014-06-03 36 | ================== 37 | 38 | * Fix links in npm package 39 | 40 | 1.0.0 / 2014-05-08 41 | ================== 42 | 43 | * Add `trust` argument to determine proxy trust on 44 | * Accepts custom function 45 | * Accepts IPv4/IPv6 address(es) 46 | * Accepts subnets 47 | * Accepts pre-defined names 48 | * Add optional `trust` argument to `proxyaddr.all` to 49 | stop at first untrusted 50 | * Add `proxyaddr.compile` to pre-compile `trust` function 51 | to make subsequent calls faster 52 | 53 | 0.0.1 / 2014-05-04 54 | ================== 55 | 56 | * Fix bad npm publish 57 | 58 | 0.0.0 / 2014-05-04 59 | ================== 60 | 61 | * Initial release 62 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/proxy-addr/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.1.0 / 2014-09-21 2 | ================== 3 | 4 | * Initial release 5 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/README.md: -------------------------------------------------------------------------------- 1 | # forwarded 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-version-image]][node-version-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | Parse HTTP X-Forwarded-For header 10 | 11 | ## Installation 12 | 13 | ```sh 14 | $ npm install forwarded 15 | ``` 16 | 17 | ## API 18 | 19 | ```js 20 | var forwarded = require('forwarded') 21 | ``` 22 | 23 | ### forwarded(req) 24 | 25 | ```js 26 | var addresses = forwarded(req) 27 | ``` 28 | 29 | Parse the `X-Forwarded-For` header from the request. Returns an array 30 | of the addresses, including the socket address for the `req`. In reverse 31 | order (i.e. index `0` is the socket address and the last index is the 32 | furthest address, typically the end-user). 33 | 34 | ## Testing 35 | 36 | ```sh 37 | $ npm test 38 | ``` 39 | 40 | ## License 41 | 42 | [MIT](LICENSE) 43 | 44 | [npm-image]: https://img.shields.io/npm/v/forwarded.svg?style=flat 45 | [npm-url]: https://npmjs.org/package/forwarded 46 | [node-version-image]: https://img.shields.io/node/v/forwarded.svg?style=flat 47 | [node-version-url]: http://nodejs.org/download/ 48 | [travis-image]: https://img.shields.io/travis/jshttp/forwarded.svg?style=flat 49 | [travis-url]: https://travis-ci.org/jshttp/forwarded 50 | [coveralls-image]: https://img.shields.io/coveralls/jshttp/forwarded.svg?style=flat 51 | [coveralls-url]: https://coveralls.io/r/jshttp/forwarded?branch=master 52 | [downloads-image]: https://img.shields.io/npm/dm/forwarded.svg?style=flat 53 | [downloads-url]: https://npmjs.org/package/forwarded 54 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * forwarded 3 | * Copyright(c) 2014 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | */ 10 | 11 | module.exports = forwarded 12 | 13 | /** 14 | * Get all addresses in the request, using the `X-Forwarded-For` header. 15 | * 16 | * @param {Object} req 17 | * @api public 18 | */ 19 | 20 | function forwarded(req) { 21 | if (!req) { 22 | throw new TypeError('argument req is required') 23 | } 24 | 25 | // simple header parsing 26 | var proxyAddrs = (req.headers['x-forwarded-for'] || '') 27 | .split(/ *, */) 28 | .filter(Boolean) 29 | .reverse() 30 | var socketAddr = req.connection.remoteAddress 31 | var addrs = [socketAddr].concat(proxyAddrs) 32 | 33 | // return all addresses 34 | return addrs 35 | } 36 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "forwarded", 3 | "description": "Parse HTTP X-Forwarded-For header", 4 | "version": "0.1.0", 5 | "contributors": [ 6 | { 7 | "name": "Douglas Christopher Wilson", 8 | "email": "doug@somethingdoug.com" 9 | } 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "x-forwarded-for", 14 | "http", 15 | "req" 16 | ], 17 | "repository": { 18 | "type": "git", 19 | "url": "https://github.com/jshttp/forwarded" 20 | }, 21 | "devDependencies": { 22 | "istanbul": "0.3.2", 23 | "mocha": "~1.21.4" 24 | }, 25 | "files": [ 26 | "LICENSE", 27 | "HISTORY.md", 28 | "README.md", 29 | "index.js" 30 | ], 31 | "engines": { 32 | "node": ">= 0.6" 33 | }, 34 | "scripts": { 35 | "test": "mocha --reporter spec --bail --check-leaks test/", 36 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 37 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 38 | }, 39 | "gitHead": "e9a9faeb3cfaadf40eb57d144fff26bca9b818e8", 40 | "bugs": { 41 | "url": "https://github.com/jshttp/forwarded/issues" 42 | }, 43 | "homepage": "https://github.com/jshttp/forwarded", 44 | "_id": "forwarded@0.1.0", 45 | "_shasum": "19ef9874c4ae1c297bcf078fde63a09b66a84363", 46 | "_from": "forwarded@~0.1.0", 47 | "_npmVersion": "1.4.21", 48 | "_npmUser": { 49 | "name": "dougwilson", 50 | "email": "doug@somethingdoug.com" 51 | }, 52 | "maintainers": [ 53 | { 54 | "name": "dougwilson", 55 | "email": "doug@somethingdoug.com" 56 | } 57 | ], 58 | "dist": { 59 | "shasum": "19ef9874c4ae1c297bcf078fde63a09b66a84363", 60 | "tarball": "http://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz" 61 | }, 62 | "directories": {}, 63 | "_resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz", 64 | "readme": "ERROR: No README data found!" 65 | } 66 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/.npmignore: -------------------------------------------------------------------------------- 1 | .idea 2 | node_modules 3 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/Cakefile: -------------------------------------------------------------------------------- 1 | fs = require 'fs' 2 | CoffeeScript = require 'coffee-script' 3 | nodeunit = require 'nodeunit' 4 | UglifyJS = require 'uglify-js' 5 | 6 | task 'build', 'build the JavaScript files from CoffeeScript source', build = (cb) -> 7 | source = fs.readFileSync 'src/ipaddr.coffee' 8 | fs.writeFileSync 'lib/ipaddr.js', CoffeeScript.compile source.toString() 9 | 10 | invoke 'test' 11 | invoke 'compress' 12 | 13 | task 'test', 'run the bundled tests', (cb) -> 14 | nodeunit.reporters.default.run ['test'] 15 | 16 | task 'compress', 'uglify the resulting javascript', (cb) -> 17 | result = UglifyJS.minify('lib/ipaddr.js') 18 | fs.writeFileSync('ipaddr.min.js', result.code) 19 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2011 Peter Zotov 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ipaddr.js", 3 | "description": "A library for manipulating IPv4 and IPv6 addresses in JavaScript.", 4 | "version": "0.1.9", 5 | "author": { 6 | "name": "Peter Zotov", 7 | "email": "whitequark@whitequark.org" 8 | }, 9 | "directories": { 10 | "lib": "./lib" 11 | }, 12 | "dependencies": {}, 13 | "devDependencies": { 14 | "coffee-script": "~1.6", 15 | "nodeunit": "~0.5.3", 16 | "uglify-js": "latest" 17 | }, 18 | "scripts": { 19 | "test": "cake build test" 20 | }, 21 | "keywords": [ 22 | "ip", 23 | "ipv4", 24 | "ipv6" 25 | ], 26 | "repository": { 27 | "type": "git", 28 | "url": "git://github.com/whitequark/ipaddr.js" 29 | }, 30 | "main": "./lib/ipaddr", 31 | "engines": { 32 | "node": ">= 0.2.5" 33 | }, 34 | "license": "MIT", 35 | "gitHead": "d51df7aa41ef1875215ae4ffbd324c486f8c2799", 36 | "bugs": { 37 | "url": "https://github.com/whitequark/ipaddr.js/issues" 38 | }, 39 | "_id": "ipaddr.js@0.1.9", 40 | "_shasum": "a9c78ccc12dc9010f296ab9aef2f61f432d69efa", 41 | "_from": "ipaddr.js@0.1.9", 42 | "_npmVersion": "1.4.21", 43 | "_npmUser": { 44 | "name": "whitequark", 45 | "email": "whitequark@whitequark.org" 46 | }, 47 | "maintainers": [ 48 | { 49 | "name": "whitequark", 50 | "email": "whitequark@whitequark.org" 51 | } 52 | ], 53 | "dist": { 54 | "shasum": "a9c78ccc12dc9010f296ab9aef2f61f432d69efa", 55 | "tarball": "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.9.tgz" 56 | }, 57 | "_resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.9.tgz", 58 | "readme": "ERROR: No README data found!", 59 | "homepage": "https://github.com/whitequark/ipaddr.js" 60 | } 61 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/qs/.jshintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/qs/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "node": true, 3 | 4 | "curly": true, 5 | "latedef": true, 6 | "quotmark": true, 7 | "undef": true, 8 | "unused": true, 9 | "trailing": true 10 | } 11 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/qs/.npmignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.iml 3 | npm-debug.log 4 | dump.rdb 5 | node_modules 6 | results.tap 7 | results.xml 8 | npm-shrinkwrap.json 9 | config.json 10 | .DS_Store 11 | */.DS_Store 12 | */*/.DS_Store 13 | ._* 14 | */._* 15 | */*/._* 16 | coverage.* 17 | lib-cov 18 | complexity.md 19 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/qs/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - 0.10 -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/qs/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Please view our [hapijs contributing guide](https://github.com/hapijs/hapi/blob/master/CONTRIBUTING.md). 2 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/qs/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Nathan LaFreniere and other contributors. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | * Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | * The names of any contributors may not be used to endorse or promote 12 | products derived from this software without specific prior written 13 | permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | 26 | * * * 27 | 28 | The complete list of contributors can be found at: https://github.com/hapijs/qs/graphs/contributors 29 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/qs/Makefile: -------------------------------------------------------------------------------- 1 | test: 2 | @node node_modules/lab/bin/lab -a code -L 3 | test-cov: 4 | @node node_modules/lab/bin/lab -a code -t 100 -L 5 | test-cov-html: 6 | @node node_modules/lab/bin/lab -a code -L -r html -o coverage.html 7 | 8 | .PHONY: test test-cov test-cov-html 9 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/qs/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/'); 2 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/qs/lib/index.js: -------------------------------------------------------------------------------- 1 | // Load modules 2 | 3 | var Stringify = require('./stringify'); 4 | var Parse = require('./parse'); 5 | 6 | 7 | // Declare internals 8 | 9 | var internals = {}; 10 | 11 | 12 | module.exports = { 13 | stringify: Stringify, 14 | parse: Parse 15 | }; 16 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/qs/lib/stringify.js: -------------------------------------------------------------------------------- 1 | // Load modules 2 | 3 | var Utils = require('./utils'); 4 | 5 | 6 | // Declare internals 7 | 8 | var internals = { 9 | delimiter: '&', 10 | indices: true 11 | }; 12 | 13 | 14 | internals.stringify = function (obj, prefix, options) { 15 | 16 | if (Utils.isBuffer(obj)) { 17 | obj = obj.toString(); 18 | } 19 | else if (obj instanceof Date) { 20 | obj = obj.toISOString(); 21 | } 22 | else if (obj === null) { 23 | obj = ''; 24 | } 25 | 26 | if (typeof obj === 'string' || 27 | typeof obj === 'number' || 28 | typeof obj === 'boolean') { 29 | 30 | return [encodeURIComponent(prefix) + '=' + encodeURIComponent(obj)]; 31 | } 32 | 33 | var values = []; 34 | 35 | if (typeof obj === 'undefined') { 36 | return values; 37 | } 38 | 39 | var objKeys = Object.keys(obj); 40 | for (var i = 0, il = objKeys.length; i < il; ++i) { 41 | var key = objKeys[i]; 42 | if (!options.indices && 43 | Array.isArray(obj)) { 44 | 45 | values = values.concat(internals.stringify(obj[key], prefix, options)); 46 | } 47 | else { 48 | values = values.concat(internals.stringify(obj[key], prefix + '[' + key + ']', options)); 49 | } 50 | } 51 | 52 | return values; 53 | }; 54 | 55 | 56 | module.exports = function (obj, options) { 57 | 58 | options = options || {}; 59 | var delimiter = typeof options.delimiter === 'undefined' ? internals.delimiter : options.delimiter; 60 | options.indices = typeof options.indices === 'boolean' ? options.indices : internals.indices; 61 | 62 | var keys = []; 63 | 64 | if (typeof obj !== 'object' || 65 | obj === null) { 66 | 67 | return ''; 68 | } 69 | 70 | var objKeys = Object.keys(obj); 71 | for (var i = 0, il = objKeys.length; i < il; ++i) { 72 | var key = objKeys[i]; 73 | keys = keys.concat(internals.stringify(obj[key], key, options)); 74 | } 75 | 76 | return keys.join(delimiter); 77 | }; 78 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/qs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "qs", 3 | "version": "2.3.3", 4 | "description": "A querystring parser that supports nesting and arrays, with a depth limit", 5 | "homepage": "https://github.com/hapijs/qs", 6 | "main": "index.js", 7 | "dependencies": {}, 8 | "devDependencies": { 9 | "code": "1.x.x", 10 | "lab": "5.x.x" 11 | }, 12 | "scripts": { 13 | "test": "make test-cov" 14 | }, 15 | "repository": { 16 | "type": "git", 17 | "url": "https://github.com/hapijs/qs.git" 18 | }, 19 | "keywords": [ 20 | "querystring", 21 | "qs" 22 | ], 23 | "licenses": [ 24 | { 25 | "type": "BSD", 26 | "url": "http://github.com/hapijs/qs/raw/master/LICENSE" 27 | } 28 | ], 29 | "gitHead": "9250c4cda5102fcf72441445816e6d311fc6813d", 30 | "bugs": { 31 | "url": "https://github.com/hapijs/qs/issues" 32 | }, 33 | "_id": "qs@2.3.3", 34 | "_shasum": "e9e85adbe75da0bbe4c8e0476a086290f863b404", 35 | "_from": "qs@2.3.3", 36 | "_npmVersion": "2.1.6", 37 | "_nodeVersion": "0.10.32", 38 | "_npmUser": { 39 | "name": "nlf", 40 | "email": "quitlahok@gmail.com" 41 | }, 42 | "maintainers": [ 43 | { 44 | "name": "nlf", 45 | "email": "quitlahok@gmail.com" 46 | }, 47 | { 48 | "name": "hueniverse", 49 | "email": "eran@hueniverse.com" 50 | } 51 | ], 52 | "dist": { 53 | "shasum": "e9e85adbe75da0bbe4c8e0476a086290f863b404", 54 | "tarball": "http://registry.npmjs.org/qs/-/qs-2.3.3.tgz" 55 | }, 56 | "directories": {}, 57 | "_resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz", 58 | "readme": "ERROR: No README data found!" 59 | } 60 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/range-parser/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.2 / 2014-09-08 2 | ================== 3 | 4 | * Support Node.js 0.6 5 | 6 | 1.0.1 / 2014-09-07 7 | ================== 8 | 9 | * Move repository to jshttp 10 | 11 | 1.0.0 / 2013-12-11 12 | ================== 13 | 14 | * Add repository to package.json 15 | * Add MIT license 16 | 17 | 0.0.4 / 2012-06-17 18 | ================== 19 | 20 | * Change ret -1 for unsatisfiable and -2 when invalid 21 | 22 | 0.0.3 / 2012-06-17 23 | ================== 24 | 25 | * Fix last-byte-pos default to len - 1 26 | 27 | 0.0.2 / 2012-06-14 28 | ================== 29 | 30 | * Add `.type` 31 | 32 | 0.0.1 / 2012-06-11 33 | ================== 34 | 35 | * Initial release 36 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/range-parser/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 TJ Holowaychuk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/range-parser/README.md: -------------------------------------------------------------------------------- 1 | # range-parser 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-version-image]][node-version-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | Range header field parser. 10 | 11 | ## Installation 12 | 13 | ``` 14 | $ npm install range-parser 15 | ``` 16 | 17 | ## Examples 18 | 19 | ```js 20 | assert(-1 == parse(200, 'bytes=500-20')); 21 | assert(-2 == parse(200, 'bytes=malformed')); 22 | parse(200, 'bytes=0-499').should.eql(arr('bytes', [{ start: 0, end: 199 }])); 23 | parse(1000, 'bytes=0-499').should.eql(arr('bytes', [{ start: 0, end: 499 }])); 24 | parse(1000, 'bytes=40-80').should.eql(arr('bytes', [{ start: 40, end: 80 }])); 25 | parse(1000, 'bytes=-500').should.eql(arr('bytes', [{ start: 500, end: 999 }])); 26 | parse(1000, 'bytes=-400').should.eql(arr('bytes', [{ start: 600, end: 999 }])); 27 | parse(1000, 'bytes=500-').should.eql(arr('bytes', [{ start: 500, end: 999 }])); 28 | parse(1000, 'bytes=400-').should.eql(arr('bytes', [{ start: 400, end: 999 }])); 29 | parse(1000, 'bytes=0-0').should.eql(arr('bytes', [{ start: 0, end: 0 }])); 30 | parse(1000, 'bytes=-1').should.eql(arr('bytes', [{ start: 999, end: 999 }])); 31 | parse(1000, 'items=0-5').should.eql(arr('items', [{ start: 0, end: 5 }])); 32 | parse(1000, 'bytes=40-80,-1').should.eql(arr('bytes', [{ start: 40, end: 80 }, { start: 999, end: 999 }])); 33 | ``` 34 | 35 | ## License 36 | 37 | [MIT](LICENSE) 38 | 39 | [npm-image]: https://img.shields.io/npm/v/range-parser.svg?style=flat 40 | [npm-url]: https://npmjs.org/package/range-parser 41 | [node-version-image]: https://img.shields.io/badge/node.js-%3E%3D_0.6-brightgreen.svg?style=flat 42 | [node-version-url]: http://nodejs.org/download/ 43 | [travis-image]: https://img.shields.io/travis/jshttp/range-parser.svg?style=flat 44 | [travis-url]: https://travis-ci.org/jshttp/range-parser 45 | [coveralls-image]: https://img.shields.io/coveralls/jshttp/range-parser.svg?style=flat 46 | [coveralls-url]: https://coveralls.io/r/jshttp/range-parser 47 | [downloads-image]: https://img.shields.io/npm/dm/range-parser.svg?style=flat 48 | [downloads-url]: https://npmjs.org/package/range-parser 49 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/range-parser/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Parse "Range" header `str` relative to the given file `size`. 4 | * 5 | * @param {Number} size 6 | * @param {String} str 7 | * @return {Array} 8 | * @api public 9 | */ 10 | 11 | module.exports = function(size, str){ 12 | var valid = true; 13 | var i = str.indexOf('='); 14 | 15 | if (-1 == i) return -2; 16 | 17 | var arr = str.slice(i + 1).split(',').map(function(range){ 18 | var range = range.split('-') 19 | , start = parseInt(range[0], 10) 20 | , end = parseInt(range[1], 10); 21 | 22 | // -nnn 23 | if (isNaN(start)) { 24 | start = size - end; 25 | end = size - 1; 26 | // nnn- 27 | } else if (isNaN(end)) { 28 | end = size - 1; 29 | } 30 | 31 | // limit last-byte-pos to current length 32 | if (end > size - 1) end = size - 1; 33 | 34 | // invalid 35 | if (isNaN(start) 36 | || isNaN(end) 37 | || start > end 38 | || start < 0) valid = false; 39 | 40 | return { 41 | start: start, 42 | end: end 43 | }; 44 | }); 45 | 46 | arr.type = str.slice(0, i); 47 | 48 | return valid ? arr : -1; 49 | }; 50 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/send/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012 TJ Holowaychuk 4 | Copyright (c) 2014-2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/send/node_modules/.bin/mime: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=`dirname "$0"` 3 | 4 | case `uname` in 5 | *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | "$basedir/node" "$basedir/../mime/cli.js" "$@" 10 | ret=$? 11 | else 12 | node "$basedir/../mime/cli.js" "$@" 13 | ret=$? 14 | fi 15 | exit $ret 16 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/send/node_modules/.bin/mime.cmd: -------------------------------------------------------------------------------- 1 | @IF EXIST "%~dp0\node.exe" ( 2 | "%~dp0\node.exe" "%~dp0\..\mime\cli.js" %* 3 | ) ELSE ( 4 | @SETLOCAL 5 | @SET PATHEXT=%PATHEXT:;.JS;=;% 6 | node "%~dp0\..\mime\cli.js" %* 7 | ) -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/send/node_modules/destroy/README.md: -------------------------------------------------------------------------------- 1 | # Destroy 2 | 3 | [![NPM version][npm-image]][npm-url] 4 | [![Build status][travis-image]][travis-url] 5 | [![Test coverage][coveralls-image]][coveralls-url] 6 | [![Dependency Status][david-image]][david-url] 7 | [![License][license-image]][license-url] 8 | [![Downloads][downloads-image]][downloads-url] 9 | [![Gittip][gittip-image]][gittip-url] 10 | 11 | Destroy a stream. 12 | 13 | ## API 14 | 15 | ```js 16 | var destroy = require('destroy') 17 | 18 | var fs = require('fs') 19 | var stream = fs.createReadStream('package.json') 20 | destroy(stream) 21 | ``` 22 | 23 | [npm-image]: https://img.shields.io/npm/v/destroy.svg?style=flat-square 24 | [npm-url]: https://npmjs.org/package/destroy 25 | [github-tag]: http://img.shields.io/github/tag/stream-utils/destroy.svg?style=flat-square 26 | [github-url]: https://github.com/stream-utils/destroy/tags 27 | [travis-image]: https://img.shields.io/travis/stream-utils/destroy.svg?style=flat-square 28 | [travis-url]: https://travis-ci.org/stream-utils/destroy 29 | [coveralls-image]: https://img.shields.io/coveralls/stream-utils/destroy.svg?style=flat-square 30 | [coveralls-url]: https://coveralls.io/r/stream-utils/destroy?branch=master 31 | [david-image]: http://img.shields.io/david/stream-utils/destroy.svg?style=flat-square 32 | [david-url]: https://david-dm.org/stream-utils/destroy 33 | [license-image]: http://img.shields.io/npm/l/destroy.svg?style=flat-square 34 | [license-url]: LICENSE.md 35 | [downloads-image]: http://img.shields.io/npm/dm/destroy.svg?style=flat-square 36 | [downloads-url]: https://npmjs.org/package/destroy 37 | [gittip-image]: https://img.shields.io/gittip/jonathanong.svg?style=flat-square 38 | [gittip-url]: https://www.gittip.com/jonathanong/ 39 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/send/node_modules/destroy/index.js: -------------------------------------------------------------------------------- 1 | var ReadStream = require('fs').ReadStream 2 | var Stream = require('stream') 3 | 4 | module.exports = function destroy(stream) { 5 | if (stream instanceof ReadStream) { 6 | return destroyReadStream(stream) 7 | } 8 | 9 | if (!(stream instanceof Stream)) { 10 | return stream 11 | } 12 | 13 | if (typeof stream.destroy === 'function') { 14 | stream.destroy() 15 | } 16 | 17 | return stream 18 | } 19 | 20 | function destroyReadStream(stream) { 21 | stream.destroy() 22 | 23 | if (typeof stream.close === 'function') { 24 | // node.js core bug work-around 25 | stream.on('open', onopenClose) 26 | } 27 | 28 | return stream 29 | } 30 | 31 | function onopenClose() { 32 | if (typeof this.fd === 'number') { 33 | // actually close down the fd 34 | this.close() 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/send/node_modules/destroy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "destroy", 3 | "description": "destroy a stream if possible", 4 | "version": "1.0.3", 5 | "author": { 6 | "name": "Jonathan Ong", 7 | "email": "me@jongleberry.com", 8 | "url": "http://jongleberry.com" 9 | }, 10 | "contributors": [ 11 | { 12 | "name": "Douglas Christopher Wilson", 13 | "email": "doug@somethingdoug.com" 14 | } 15 | ], 16 | "license": "MIT", 17 | "repository": { 18 | "type": "git", 19 | "url": "https://github.com/stream-utils/destroy" 20 | }, 21 | "devDependencies": { 22 | "istanbul": "0", 23 | "mocha": "1" 24 | }, 25 | "scripts": { 26 | "test": "mocha --reporter spec", 27 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot", 28 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot" 29 | }, 30 | "files": [ 31 | "index.js" 32 | ], 33 | "keywords": [ 34 | "stream", 35 | "streams", 36 | "destroy", 37 | "cleanup", 38 | "leak", 39 | "fd" 40 | ], 41 | "gitHead": "50af95ece4a70202f9301bc3edc8f9fdbbad0f26", 42 | "bugs": { 43 | "url": "https://github.com/stream-utils/destroy/issues" 44 | }, 45 | "homepage": "https://github.com/stream-utils/destroy", 46 | "_id": "destroy@1.0.3", 47 | "_shasum": "b433b4724e71fd8551d9885174851c5fc377e2c9", 48 | "_from": "destroy@1.0.3", 49 | "_npmVersion": "1.4.21", 50 | "_npmUser": { 51 | "name": "jongleberry", 52 | "email": "jonathanrichardong@gmail.com" 53 | }, 54 | "maintainers": [ 55 | { 56 | "name": "jongleberry", 57 | "email": "jonathanrichardong@gmail.com" 58 | } 59 | ], 60 | "dist": { 61 | "shasum": "b433b4724e71fd8551d9885174851c5fc377e2c9", 62 | "tarball": "http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz" 63 | }, 64 | "directories": {}, 65 | "_resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz", 66 | "readme": "ERROR: No README data found!" 67 | } 68 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/send/node_modules/mime/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Tests/NodeLauncher/node_modules/express/node_modules/send/node_modules/mime/.npmignore -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/send/node_modules/mime/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 Benjamin Thomas, Robert Kieffer 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/send/node_modules/mime/build/build.js: -------------------------------------------------------------------------------- 1 | var db = require('mime-db'); 2 | 3 | var mapByType = {}; 4 | Object.keys(db).forEach(function(key) { 5 | var extensions = db[key].extensions; 6 | if (extensions) { 7 | mapByType[key] = extensions; 8 | } 9 | }); 10 | 11 | console.log(JSON.stringify(mapByType)); 12 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/send/node_modules/mime/build/test.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Usage: node test.js 3 | */ 4 | 5 | var mime = require('../mime'); 6 | var assert = require('assert'); 7 | var path = require('path'); 8 | 9 | // 10 | // Test mime lookups 11 | // 12 | 13 | assert.equal('text/plain', mime.lookup('text.txt')); // normal file 14 | assert.equal('text/plain', mime.lookup('TEXT.TXT')); // uppercase 15 | assert.equal('text/plain', mime.lookup('dir/text.txt')); // dir + file 16 | assert.equal('text/plain', mime.lookup('.text.txt')); // hidden file 17 | assert.equal('text/plain', mime.lookup('.txt')); // nameless 18 | assert.equal('text/plain', mime.lookup('txt')); // extension-only 19 | assert.equal('text/plain', mime.lookup('/txt')); // extension-less () 20 | assert.equal('text/plain', mime.lookup('\\txt')); // Windows, extension-less 21 | assert.equal('application/octet-stream', mime.lookup('text.nope')); // unrecognized 22 | assert.equal('fallback', mime.lookup('text.fallback', 'fallback')); // alternate default 23 | 24 | // 25 | // Test extensions 26 | // 27 | 28 | assert.equal('txt', mime.extension(mime.types.text)); 29 | assert.equal('html', mime.extension(mime.types.htm)); 30 | assert.equal('bin', mime.extension('application/octet-stream')); 31 | assert.equal('bin', mime.extension('application/octet-stream ')); 32 | assert.equal('html', mime.extension(' text/html; charset=UTF-8')); 33 | assert.equal('html', mime.extension('text/html; charset=UTF-8 ')); 34 | assert.equal('html', mime.extension('text/html; charset=UTF-8')); 35 | assert.equal('html', mime.extension('text/html ; charset=UTF-8')); 36 | assert.equal('html', mime.extension('text/html;charset=UTF-8')); 37 | assert.equal('html', mime.extension('text/Html;charset=UTF-8')); 38 | assert.equal(undefined, mime.extension('unrecognized')); 39 | 40 | // 41 | // Test node.types lookups 42 | // 43 | 44 | assert.equal('application/font-woff', mime.lookup('file.woff')); 45 | assert.equal('application/octet-stream', mime.lookup('file.buffer')); 46 | assert.equal('audio/mp4', mime.lookup('file.m4a')); 47 | assert.equal('font/opentype', mime.lookup('file.otf')); 48 | 49 | // 50 | // Test charsets 51 | // 52 | 53 | assert.equal('UTF-8', mime.charsets.lookup('text/plain')); 54 | assert.equal(undefined, mime.charsets.lookup(mime.types.js)); 55 | assert.equal('fallback', mime.charsets.lookup('application/octet-stream', 'fallback')); 56 | 57 | console.log('\nAll tests passed'); 58 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/send/node_modules/mime/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var mime = require('./mime.js'); 4 | var file = process.argv[2]; 5 | var type = mime.lookup(file); 6 | 7 | process.stdout.write(type + '\n'); 8 | 9 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/send/node_modules/mime/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "name": "Robert Kieffer", 4 | "email": "robert@broofa.com", 5 | "url": "http://github.com/broofa" 6 | }, 7 | "scripts": { 8 | "prepublish": "node build/build.js > types.json", 9 | "test": "node build/test.js" 10 | }, 11 | "bin": { 12 | "mime": "cli.js" 13 | }, 14 | "contributors": [ 15 | { 16 | "name": "Benjamin Thomas", 17 | "email": "benjamin@benjaminthomas.org", 18 | "url": "http://github.com/bentomas" 19 | } 20 | ], 21 | "description": "A comprehensive library for mime-type mapping", 22 | "licenses": [ 23 | { 24 | "type": "MIT", 25 | "url": "https://raw.github.com/broofa/node-mime/master/LICENSE" 26 | } 27 | ], 28 | "dependencies": {}, 29 | "devDependencies": { 30 | "mime-db": "^1.2.0" 31 | }, 32 | "keywords": [ 33 | "util", 34 | "mime" 35 | ], 36 | "main": "mime.js", 37 | "name": "mime", 38 | "repository": { 39 | "url": "https://github.com/broofa/node-mime", 40 | "type": "git" 41 | }, 42 | "version": "1.3.4", 43 | "gitHead": "1628f6e0187095009dcef4805c3a49706f137974", 44 | "bugs": { 45 | "url": "https://github.com/broofa/node-mime/issues" 46 | }, 47 | "homepage": "https://github.com/broofa/node-mime", 48 | "_id": "mime@1.3.4", 49 | "_shasum": "115f9e3b6b3daf2959983cb38f149a2d40eb5d53", 50 | "_from": "mime@1.3.4", 51 | "_npmVersion": "1.4.28", 52 | "_npmUser": { 53 | "name": "broofa", 54 | "email": "robert@broofa.com" 55 | }, 56 | "maintainers": [ 57 | { 58 | "name": "broofa", 59 | "email": "robert@broofa.com" 60 | }, 61 | { 62 | "name": "bentomas", 63 | "email": "benjamin@benjaminthomas.org" 64 | } 65 | ], 66 | "dist": { 67 | "shasum": "115f9e3b6b3daf2959983cb38f149a2d40eb5d53", 68 | "tarball": "http://registry.npmjs.org/mime/-/mime-1.3.4.tgz" 69 | }, 70 | "directories": {}, 71 | "_resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", 72 | "readme": "ERROR: No README data found!" 73 | } 74 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/send/node_modules/ms/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test 3 | History.md 4 | Makefile 5 | component.json 6 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/send/node_modules/ms/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Guillermo Rauch 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/send/node_modules/ms/README.md: -------------------------------------------------------------------------------- 1 | # ms.js: miliseconds conversion utility 2 | 3 | ```js 4 | ms('2 days') // 172800000 5 | ms('1d') // 86400000 6 | ms('10h') // 36000000 7 | ms('2.5 hrs') // 9000000 8 | ms('2h') // 7200000 9 | ms('1m') // 60000 10 | ms('5s') // 5000 11 | ms('100') // 100 12 | ``` 13 | 14 | ```js 15 | ms(60000) // "1m" 16 | ms(2 * 60000) // "2m" 17 | ms(ms('10 hours')) // "10h" 18 | ``` 19 | 20 | ```js 21 | ms(60000, { long: true }) // "1 minute" 22 | ms(2 * 60000, { long: true }) // "2 minutes" 23 | ms(ms('10 hours'), { long: true }) // "10 hours" 24 | ``` 25 | 26 | - Node/Browser compatible. Published as [`ms`](https://www.npmjs.org/package/ms) in [NPM](nodejs.org/download). 27 | - If a number is supplied to `ms`, a string with a unit is returned. 28 | - If a string that contains the number is supplied, it returns it as 29 | a number (e.g: it returns `100` for `'100'`). 30 | - If you pass a string with a number and a valid unit, the number of 31 | equivalent ms is returned. 32 | 33 | ## License 34 | 35 | MIT 36 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/send/node_modules/ms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ms", 3 | "version": "0.7.0", 4 | "description": "Tiny ms conversion utility", 5 | "repository": { 6 | "type": "git", 7 | "url": "git://github.com/guille/ms.js.git" 8 | }, 9 | "main": "./index", 10 | "devDependencies": { 11 | "mocha": "*", 12 | "expect.js": "*", 13 | "serve": "*" 14 | }, 15 | "component": { 16 | "scripts": { 17 | "ms/index.js": "index.js" 18 | } 19 | }, 20 | "gitHead": "1e9cd9b05ef0dc26f765434d2bfee42394376e52", 21 | "bugs": { 22 | "url": "https://github.com/guille/ms.js/issues" 23 | }, 24 | "homepage": "https://github.com/guille/ms.js", 25 | "_id": "ms@0.7.0", 26 | "scripts": {}, 27 | "_shasum": "865be94c2e7397ad8a57da6a633a6e2f30798b83", 28 | "_from": "ms@0.7.0", 29 | "_npmVersion": "1.4.21", 30 | "_npmUser": { 31 | "name": "rauchg", 32 | "email": "rauchg@gmail.com" 33 | }, 34 | "maintainers": [ 35 | { 36 | "name": "rauchg", 37 | "email": "rauchg@gmail.com" 38 | } 39 | ], 40 | "dist": { 41 | "shasum": "865be94c2e7397ad8a57da6a633a6e2f30798b83", 42 | "tarball": "http://registry.npmjs.org/ms/-/ms-0.7.0.tgz" 43 | }, 44 | "directories": {}, 45 | "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.0.tgz", 46 | "readme": "ERROR: No README data found!" 47 | } 48 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2010 Sencha Inc. 4 | Copyright (c) 2011 LearnBoost 5 | Copyright (c) 2011 TJ Holowaychuk 6 | Copyright (c) 2014 Douglas Christopher Wilson 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining 9 | a copy of this software and associated documentation files (the 10 | 'Software'), to deal in the Software without restriction, including 11 | without limitation the rights to use, copy, modify, merge, publish, 12 | distribute, sublicense, and/or sell copies of the Software, and to 13 | permit persons to whom the Software is furnished to do so, subject to 14 | the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be 17 | included in all copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 20 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 22 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 23 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 24 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012 TJ Holowaychuk 4 | Copyright (c) 2014-2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/.bin/mime: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=`dirname "$0"` 3 | 4 | case `uname` in 5 | *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | "$basedir/node" "$basedir/../mime/cli.js" "$@" 10 | ret=$? 11 | else 12 | node "$basedir/../mime/cli.js" "$@" 13 | ret=$? 14 | fi 15 | exit $ret 16 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/.bin/mime.cmd: -------------------------------------------------------------------------------- 1 | @IF EXIST "%~dp0\node.exe" ( 2 | "%~dp0\node.exe" "%~dp0\..\mime\cli.js" %* 3 | ) ELSE ( 4 | @SETLOCAL 5 | @SET PATHEXT=%PATHEXT:;.JS;=;% 6 | node "%~dp0\..\mime\cli.js" %* 7 | ) -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/destroy/README.md: -------------------------------------------------------------------------------- 1 | # Destroy 2 | 3 | [![NPM version][npm-image]][npm-url] 4 | [![Build status][travis-image]][travis-url] 5 | [![Test coverage][coveralls-image]][coveralls-url] 6 | [![Dependency Status][david-image]][david-url] 7 | [![License][license-image]][license-url] 8 | [![Downloads][downloads-image]][downloads-url] 9 | [![Gittip][gittip-image]][gittip-url] 10 | 11 | Destroy a stream. 12 | 13 | ## API 14 | 15 | ```js 16 | var destroy = require('destroy') 17 | 18 | var fs = require('fs') 19 | var stream = fs.createReadStream('package.json') 20 | destroy(stream) 21 | ``` 22 | 23 | [npm-image]: https://img.shields.io/npm/v/destroy.svg?style=flat-square 24 | [npm-url]: https://npmjs.org/package/destroy 25 | [github-tag]: http://img.shields.io/github/tag/stream-utils/destroy.svg?style=flat-square 26 | [github-url]: https://github.com/stream-utils/destroy/tags 27 | [travis-image]: https://img.shields.io/travis/stream-utils/destroy.svg?style=flat-square 28 | [travis-url]: https://travis-ci.org/stream-utils/destroy 29 | [coveralls-image]: https://img.shields.io/coveralls/stream-utils/destroy.svg?style=flat-square 30 | [coveralls-url]: https://coveralls.io/r/stream-utils/destroy?branch=master 31 | [david-image]: http://img.shields.io/david/stream-utils/destroy.svg?style=flat-square 32 | [david-url]: https://david-dm.org/stream-utils/destroy 33 | [license-image]: http://img.shields.io/npm/l/destroy.svg?style=flat-square 34 | [license-url]: LICENSE.md 35 | [downloads-image]: http://img.shields.io/npm/dm/destroy.svg?style=flat-square 36 | [downloads-url]: https://npmjs.org/package/destroy 37 | [gittip-image]: https://img.shields.io/gittip/jonathanong.svg?style=flat-square 38 | [gittip-url]: https://www.gittip.com/jonathanong/ 39 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/destroy/index.js: -------------------------------------------------------------------------------- 1 | var ReadStream = require('fs').ReadStream 2 | var Stream = require('stream') 3 | 4 | module.exports = function destroy(stream) { 5 | if (stream instanceof ReadStream) { 6 | return destroyReadStream(stream) 7 | } 8 | 9 | if (!(stream instanceof Stream)) { 10 | return stream 11 | } 12 | 13 | if (typeof stream.destroy === 'function') { 14 | stream.destroy() 15 | } 16 | 17 | return stream 18 | } 19 | 20 | function destroyReadStream(stream) { 21 | stream.destroy() 22 | 23 | if (typeof stream.close === 'function') { 24 | // node.js core bug work-around 25 | stream.on('open', onopenClose) 26 | } 27 | 28 | return stream 29 | } 30 | 31 | function onopenClose() { 32 | if (typeof this.fd === 'number') { 33 | // actually close down the fd 34 | this.close() 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/destroy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "destroy", 3 | "description": "destroy a stream if possible", 4 | "version": "1.0.3", 5 | "author": { 6 | "name": "Jonathan Ong", 7 | "email": "me@jongleberry.com", 8 | "url": "http://jongleberry.com" 9 | }, 10 | "contributors": [ 11 | { 12 | "name": "Douglas Christopher Wilson", 13 | "email": "doug@somethingdoug.com" 14 | } 15 | ], 16 | "license": "MIT", 17 | "repository": { 18 | "type": "git", 19 | "url": "https://github.com/stream-utils/destroy" 20 | }, 21 | "devDependencies": { 22 | "istanbul": "0", 23 | "mocha": "1" 24 | }, 25 | "scripts": { 26 | "test": "mocha --reporter spec", 27 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot", 28 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot" 29 | }, 30 | "files": [ 31 | "index.js" 32 | ], 33 | "keywords": [ 34 | "stream", 35 | "streams", 36 | "destroy", 37 | "cleanup", 38 | "leak", 39 | "fd" 40 | ], 41 | "gitHead": "50af95ece4a70202f9301bc3edc8f9fdbbad0f26", 42 | "bugs": { 43 | "url": "https://github.com/stream-utils/destroy/issues" 44 | }, 45 | "homepage": "https://github.com/stream-utils/destroy", 46 | "_id": "destroy@1.0.3", 47 | "_shasum": "b433b4724e71fd8551d9885174851c5fc377e2c9", 48 | "_from": "destroy@1.0.3", 49 | "_npmVersion": "1.4.21", 50 | "_npmUser": { 51 | "name": "jongleberry", 52 | "email": "jonathanrichardong@gmail.com" 53 | }, 54 | "maintainers": [ 55 | { 56 | "name": "jongleberry", 57 | "email": "jonathanrichardong@gmail.com" 58 | } 59 | ], 60 | "dist": { 61 | "shasum": "b433b4724e71fd8551d9885174851c5fc377e2c9", 62 | "tarball": "http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz" 63 | }, 64 | "directories": {}, 65 | "_resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz", 66 | "readme": "ERROR: No README data found!" 67 | } 68 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/mime/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/mime/.npmignore -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/mime/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 Benjamin Thomas, Robert Kieffer 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/mime/build/build.js: -------------------------------------------------------------------------------- 1 | var db = require('mime-db'); 2 | 3 | var mapByType = {}; 4 | Object.keys(db).forEach(function(key) { 5 | var extensions = db[key].extensions; 6 | if (extensions) { 7 | mapByType[key] = extensions; 8 | } 9 | }); 10 | 11 | console.log(JSON.stringify(mapByType)); 12 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/mime/build/test.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Usage: node test.js 3 | */ 4 | 5 | var mime = require('../mime'); 6 | var assert = require('assert'); 7 | var path = require('path'); 8 | 9 | // 10 | // Test mime lookups 11 | // 12 | 13 | assert.equal('text/plain', mime.lookup('text.txt')); // normal file 14 | assert.equal('text/plain', mime.lookup('TEXT.TXT')); // uppercase 15 | assert.equal('text/plain', mime.lookup('dir/text.txt')); // dir + file 16 | assert.equal('text/plain', mime.lookup('.text.txt')); // hidden file 17 | assert.equal('text/plain', mime.lookup('.txt')); // nameless 18 | assert.equal('text/plain', mime.lookup('txt')); // extension-only 19 | assert.equal('text/plain', mime.lookup('/txt')); // extension-less () 20 | assert.equal('text/plain', mime.lookup('\\txt')); // Windows, extension-less 21 | assert.equal('application/octet-stream', mime.lookup('text.nope')); // unrecognized 22 | assert.equal('fallback', mime.lookup('text.fallback', 'fallback')); // alternate default 23 | 24 | // 25 | // Test extensions 26 | // 27 | 28 | assert.equal('txt', mime.extension(mime.types.text)); 29 | assert.equal('html', mime.extension(mime.types.htm)); 30 | assert.equal('bin', mime.extension('application/octet-stream')); 31 | assert.equal('bin', mime.extension('application/octet-stream ')); 32 | assert.equal('html', mime.extension(' text/html; charset=UTF-8')); 33 | assert.equal('html', mime.extension('text/html; charset=UTF-8 ')); 34 | assert.equal('html', mime.extension('text/html; charset=UTF-8')); 35 | assert.equal('html', mime.extension('text/html ; charset=UTF-8')); 36 | assert.equal('html', mime.extension('text/html;charset=UTF-8')); 37 | assert.equal('html', mime.extension('text/Html;charset=UTF-8')); 38 | assert.equal(undefined, mime.extension('unrecognized')); 39 | 40 | // 41 | // Test node.types lookups 42 | // 43 | 44 | assert.equal('application/font-woff', mime.lookup('file.woff')); 45 | assert.equal('application/octet-stream', mime.lookup('file.buffer')); 46 | assert.equal('audio/mp4', mime.lookup('file.m4a')); 47 | assert.equal('font/opentype', mime.lookup('file.otf')); 48 | 49 | // 50 | // Test charsets 51 | // 52 | 53 | assert.equal('UTF-8', mime.charsets.lookup('text/plain')); 54 | assert.equal(undefined, mime.charsets.lookup(mime.types.js)); 55 | assert.equal('fallback', mime.charsets.lookup('application/octet-stream', 'fallback')); 56 | 57 | console.log('\nAll tests passed'); 58 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/mime/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var mime = require('./mime.js'); 4 | var file = process.argv[2]; 5 | var type = mime.lookup(file); 6 | 7 | process.stdout.write(type + '\n'); 8 | 9 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/mime/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "name": "Robert Kieffer", 4 | "email": "robert@broofa.com", 5 | "url": "http://github.com/broofa" 6 | }, 7 | "scripts": { 8 | "prepublish": "node build/build.js > types.json", 9 | "test": "node build/test.js" 10 | }, 11 | "bin": { 12 | "mime": "cli.js" 13 | }, 14 | "contributors": [ 15 | { 16 | "name": "Benjamin Thomas", 17 | "email": "benjamin@benjaminthomas.org", 18 | "url": "http://github.com/bentomas" 19 | } 20 | ], 21 | "description": "A comprehensive library for mime-type mapping", 22 | "licenses": [ 23 | { 24 | "type": "MIT", 25 | "url": "https://raw.github.com/broofa/node-mime/master/LICENSE" 26 | } 27 | ], 28 | "dependencies": {}, 29 | "devDependencies": { 30 | "mime-db": "^1.2.0" 31 | }, 32 | "keywords": [ 33 | "util", 34 | "mime" 35 | ], 36 | "main": "mime.js", 37 | "name": "mime", 38 | "repository": { 39 | "url": "https://github.com/broofa/node-mime", 40 | "type": "git" 41 | }, 42 | "version": "1.3.4", 43 | "gitHead": "1628f6e0187095009dcef4805c3a49706f137974", 44 | "bugs": { 45 | "url": "https://github.com/broofa/node-mime/issues" 46 | }, 47 | "homepage": "https://github.com/broofa/node-mime", 48 | "_id": "mime@1.3.4", 49 | "_shasum": "115f9e3b6b3daf2959983cb38f149a2d40eb5d53", 50 | "_from": "mime@1.3.4", 51 | "_npmVersion": "1.4.28", 52 | "_npmUser": { 53 | "name": "broofa", 54 | "email": "robert@broofa.com" 55 | }, 56 | "maintainers": [ 57 | { 58 | "name": "broofa", 59 | "email": "robert@broofa.com" 60 | }, 61 | { 62 | "name": "bentomas", 63 | "email": "benjamin@benjaminthomas.org" 64 | } 65 | ], 66 | "dist": { 67 | "shasum": "115f9e3b6b3daf2959983cb38f149a2d40eb5d53", 68 | "tarball": "http://registry.npmjs.org/mime/-/mime-1.3.4.tgz" 69 | }, 70 | "directories": {}, 71 | "_resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", 72 | "readme": "ERROR: No README data found!" 73 | } 74 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/ms/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test 3 | History.md 4 | Makefile 5 | component.json 6 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/ms/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Guillermo Rauch 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/ms/README.md: -------------------------------------------------------------------------------- 1 | # ms.js: miliseconds conversion utility 2 | 3 | ```js 4 | ms('2 days') // 172800000 5 | ms('1d') // 86400000 6 | ms('10h') // 36000000 7 | ms('2.5 hrs') // 9000000 8 | ms('2h') // 7200000 9 | ms('1m') // 60000 10 | ms('5s') // 5000 11 | ms('100') // 100 12 | ``` 13 | 14 | ```js 15 | ms(60000) // "1m" 16 | ms(2 * 60000) // "2m" 17 | ms(ms('10 hours')) // "10h" 18 | ``` 19 | 20 | ```js 21 | ms(60000, { long: true }) // "1 minute" 22 | ms(2 * 60000, { long: true }) // "2 minutes" 23 | ms(ms('10 hours'), { long: true }) // "10 hours" 24 | ``` 25 | 26 | - Node/Browser compatible. Published as [`ms`](https://www.npmjs.org/package/ms) in [NPM](nodejs.org/download). 27 | - If a number is supplied to `ms`, a string with a unit is returned. 28 | - If a string that contains the number is supplied, it returns it as 29 | a number (e.g: it returns `100` for `'100'`). 30 | - If you pass a string with a number and a valid unit, the number of 31 | equivalent ms is returned. 32 | 33 | ## License 34 | 35 | MIT 36 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/ms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ms", 3 | "version": "0.7.0", 4 | "description": "Tiny ms conversion utility", 5 | "repository": { 6 | "type": "git", 7 | "url": "git://github.com/guille/ms.js.git" 8 | }, 9 | "main": "./index", 10 | "devDependencies": { 11 | "mocha": "*", 12 | "expect.js": "*", 13 | "serve": "*" 14 | }, 15 | "component": { 16 | "scripts": { 17 | "ms/index.js": "index.js" 18 | } 19 | }, 20 | "gitHead": "1e9cd9b05ef0dc26f765434d2bfee42394376e52", 21 | "bugs": { 22 | "url": "https://github.com/guille/ms.js/issues" 23 | }, 24 | "homepage": "https://github.com/guille/ms.js", 25 | "_id": "ms@0.7.0", 26 | "scripts": {}, 27 | "_shasum": "865be94c2e7397ad8a57da6a633a6e2f30798b83", 28 | "_from": "ms@0.7.0", 29 | "_npmVersion": "1.4.21", 30 | "_npmUser": { 31 | "name": "rauchg", 32 | "email": "rauchg@gmail.com" 33 | }, 34 | "maintainers": [ 35 | { 36 | "name": "rauchg", 37 | "email": "rauchg@gmail.com" 38 | } 39 | ], 40 | "dist": { 41 | "shasum": "865be94c2e7397ad8a57da6a633a6e2f30798b83", 42 | "tarball": "http://registry.npmjs.org/ms/-/ms-0.7.0.tgz" 43 | }, 44 | "directories": {}, 45 | "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.0.tgz", 46 | "readme": "ERROR: No README data found!" 47 | } 48 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/type-is/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/type-is/node_modules/media-typer/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.3.0 / 2014-09-07 2 | ================== 3 | 4 | * Support Node.js 0.6 5 | * Throw error when parameter format invalid on parse 6 | 7 | 0.2.0 / 2014-06-18 8 | ================== 9 | 10 | * Add `typer.format()` to format media types 11 | 12 | 0.1.0 / 2014-06-17 13 | ================== 14 | 15 | * Accept `req` as argument to `parse` 16 | * Accept `res` as argument to `parse` 17 | * Parse media type with extra LWS between type and first parameter 18 | 19 | 0.0.0 / 2014-06-13 20 | ================== 21 | 22 | * Initial implementation 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/type-is/node_modules/media-typer/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/type-is/node_modules/media-typer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "media-typer", 3 | "description": "Simple RFC 6838 media type parser and formatter", 4 | "version": "0.3.0", 5 | "author": { 6 | "name": "Douglas Christopher Wilson", 7 | "email": "doug@somethingdoug.com" 8 | }, 9 | "license": "MIT", 10 | "repository": { 11 | "type": "git", 12 | "url": "https://github.com/jshttp/media-typer" 13 | }, 14 | "devDependencies": { 15 | "istanbul": "0.3.2", 16 | "mocha": "~1.21.4", 17 | "should": "~4.0.4" 18 | }, 19 | "files": [ 20 | "LICENSE", 21 | "HISTORY.md", 22 | "index.js" 23 | ], 24 | "engines": { 25 | "node": ">= 0.6" 26 | }, 27 | "scripts": { 28 | "test": "mocha --reporter spec --check-leaks --bail test/", 29 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 30 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 31 | }, 32 | "gitHead": "d49d41ffd0bb5a0655fa44a59df2ec0bfc835b16", 33 | "bugs": { 34 | "url": "https://github.com/jshttp/media-typer/issues" 35 | }, 36 | "homepage": "https://github.com/jshttp/media-typer", 37 | "_id": "media-typer@0.3.0", 38 | "_shasum": "8710d7af0aa626f8fffa1ce00168545263255748", 39 | "_from": "media-typer@0.3.0", 40 | "_npmVersion": "1.4.21", 41 | "_npmUser": { 42 | "name": "dougwilson", 43 | "email": "doug@somethingdoug.com" 44 | }, 45 | "maintainers": [ 46 | { 47 | "name": "dougwilson", 48 | "email": "doug@somethingdoug.com" 49 | } 50 | ], 51 | "dist": { 52 | "shasum": "8710d7af0aa626f8fffa1ce00168545263255748", 53 | "tarball": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" 54 | }, 55 | "directories": {}, 56 | "_resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 57 | "readme": "ERROR: No README data found!" 58 | } 59 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/type-is/node_modules/mime-types/HISTORY.md: -------------------------------------------------------------------------------- 1 | 2.0.10 / 2015-03-13 2 | =================== 3 | 4 | * deps: mime-db@~1.8.0 5 | - Add new mime types 6 | 7 | 2.0.9 / 2015-02-09 8 | ================== 9 | 10 | * deps: mime-db@~1.7.0 11 | - Add new mime types 12 | - Community extensions ownership transferred from `node-mime` 13 | 14 | 2.0.8 / 2015-01-29 15 | ================== 16 | 17 | * deps: mime-db@~1.6.0 18 | - Add new mime types 19 | 20 | 2.0.7 / 2014-12-30 21 | ================== 22 | 23 | * deps: mime-db@~1.5.0 24 | - Add new mime types 25 | - Fix various invalid MIME type entries 26 | 27 | 2.0.6 / 2014-12-30 28 | ================== 29 | 30 | * deps: mime-db@~1.4.0 31 | - Add new mime types 32 | - Fix various invalid MIME type entries 33 | - Remove example template MIME types 34 | 35 | 2.0.5 / 2014-12-29 36 | ================== 37 | 38 | * deps: mime-db@~1.3.1 39 | - Fix missing extensions 40 | 41 | 2.0.4 / 2014-12-10 42 | ================== 43 | 44 | * deps: mime-db@~1.3.0 45 | - Add new mime types 46 | 47 | 2.0.3 / 2014-11-09 48 | ================== 49 | 50 | * deps: mime-db@~1.2.0 51 | - Add new mime types 52 | 53 | 2.0.2 / 2014-09-28 54 | ================== 55 | 56 | * deps: mime-db@~1.1.0 57 | - Add new mime types 58 | - Add additional compressible 59 | - Update charsets 60 | 61 | 2.0.1 / 2014-09-07 62 | ================== 63 | 64 | * Support Node.js 0.6 65 | 66 | 2.0.0 / 2014-09-02 67 | ================== 68 | 69 | * Use `mime-db` 70 | * Remove `.define()` 71 | 72 | 1.0.2 / 2014-08-04 73 | ================== 74 | 75 | * Set charset=utf-8 for `text/javascript` 76 | 77 | 1.0.1 / 2014-06-24 78 | ================== 79 | 80 | * Add `text/jsx` type 81 | 82 | 1.0.0 / 2014-05-12 83 | ================== 84 | 85 | * Return `false` for unknown types 86 | * Set charset=utf-8 for `application/json` 87 | 88 | 0.1.0 / 2014-05-02 89 | ================== 90 | 91 | * Initial release 92 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/type-is/node_modules/mime-types/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/type-is/node_modules/mime-types/index.js: -------------------------------------------------------------------------------- 1 | 2 | var db = require('mime-db') 3 | 4 | // types[extension] = type 5 | exports.types = Object.create(null) 6 | // extensions[type] = [extensions] 7 | exports.extensions = Object.create(null) 8 | 9 | Object.keys(db).forEach(function (name) { 10 | var mime = db[name] 11 | var exts = mime.extensions 12 | if (!exts || !exts.length) return 13 | exports.extensions[name] = exts 14 | exts.forEach(function (ext) { 15 | exports.types[ext] = name 16 | }) 17 | }) 18 | 19 | exports.lookup = function (string) { 20 | if (!string || typeof string !== "string") return false 21 | // remove any leading paths, though we should just use path.basename 22 | string = string.replace(/.*[\.\/\\]/, '').toLowerCase() 23 | if (!string) return false 24 | return exports.types[string] || false 25 | } 26 | 27 | exports.extension = function (type) { 28 | if (!type || typeof type !== "string") return false 29 | // to do: use media-typer 30 | type = type.match(/^\s*([^;\s]*)(?:;|\s|$)/) 31 | if (!type) return false 32 | var exts = exports.extensions[type[1].toLowerCase()] 33 | if (!exts || !exts.length) return false 34 | return exts[0] 35 | } 36 | 37 | // type has to be an exact mime type 38 | exports.charset = function (type) { 39 | var mime = db[type] 40 | if (mime && mime.charset) return mime.charset 41 | 42 | // default text/* to utf-8 43 | if (/^text\//.test(type)) return 'UTF-8' 44 | 45 | return false 46 | } 47 | 48 | // backwards compatibility 49 | exports.charsets = { 50 | lookup: exports.charset 51 | } 52 | 53 | // to do: maybe use set-type module or something 54 | exports.contentType = function (type) { 55 | if (!type || typeof type !== "string") return false 56 | if (!~type.indexOf('/')) type = exports.lookup(type) 57 | if (!type) return false 58 | if (!~type.indexOf('charset')) { 59 | var charset = exports.charset(type) 60 | if (charset) type += '; charset=' + charset.toLowerCase() 61 | } 62 | return type 63 | } 64 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * mime-db 3 | * Copyright(c) 2014 Jonathan Ong 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | */ 10 | 11 | module.exports = require('./db.json') 12 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/utils-merge/.travis.yml: -------------------------------------------------------------------------------- 1 | language: "node_js" 2 | node_js: 3 | - "0.4" 4 | - "0.6" 5 | - "0.8" 6 | - "0.10" 7 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/utils-merge/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013 Jared Hanson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/utils-merge/README.md: -------------------------------------------------------------------------------- 1 | # utils-merge 2 | 3 | Merges the properties from a source object into a destination object. 4 | 5 | ## Install 6 | 7 | $ npm install utils-merge 8 | 9 | ## Usage 10 | 11 | ```javascript 12 | var a = { foo: 'bar' } 13 | , b = { bar: 'baz' }; 14 | 15 | merge(a, b); 16 | // => { foo: 'bar', bar: 'baz' } 17 | ``` 18 | 19 | ## Tests 20 | 21 | $ npm install 22 | $ npm test 23 | 24 | [![Build Status](https://secure.travis-ci.org/jaredhanson/utils-merge.png)](http://travis-ci.org/jaredhanson/utils-merge) 25 | 26 | ## Credits 27 | 28 | - [Jared Hanson](http://github.com/jaredhanson) 29 | 30 | ## License 31 | 32 | [The MIT License](http://opensource.org/licenses/MIT) 33 | 34 | Copyright (c) 2013 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)> 35 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/utils-merge/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Merge object b with object a. 3 | * 4 | * var a = { foo: 'bar' } 5 | * , b = { bar: 'baz' }; 6 | * 7 | * merge(a, b); 8 | * // => { foo: 'bar', bar: 'baz' } 9 | * 10 | * @param {Object} a 11 | * @param {Object} b 12 | * @return {Object} 13 | * @api public 14 | */ 15 | 16 | exports = module.exports = function(a, b){ 17 | if (a && b) { 18 | for (var key in b) { 19 | a[key] = b[key]; 20 | } 21 | } 22 | return a; 23 | }; 24 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/utils-merge/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "utils-merge", 3 | "version": "1.0.0", 4 | "description": "merge() utility function", 5 | "keywords": [ 6 | "util" 7 | ], 8 | "repository": { 9 | "type": "git", 10 | "url": "git://github.com/jaredhanson/utils-merge.git" 11 | }, 12 | "bugs": { 13 | "url": "http://github.com/jaredhanson/utils-merge/issues" 14 | }, 15 | "author": { 16 | "name": "Jared Hanson", 17 | "email": "jaredhanson@gmail.com", 18 | "url": "http://www.jaredhanson.net/" 19 | }, 20 | "licenses": [ 21 | { 22 | "type": "MIT", 23 | "url": "http://www.opensource.org/licenses/MIT" 24 | } 25 | ], 26 | "main": "./index", 27 | "dependencies": {}, 28 | "devDependencies": { 29 | "mocha": "1.x.x", 30 | "chai": "1.x.x" 31 | }, 32 | "scripts": { 33 | "test": "mocha --reporter spec --require test/bootstrap/node test/*.test.js" 34 | }, 35 | "engines": { 36 | "node": ">= 0.4.0" 37 | }, 38 | "_id": "utils-merge@1.0.0", 39 | "dist": { 40 | "shasum": "0294fb922bb9375153541c4f7096231f287c8af8", 41 | "tarball": "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz" 42 | }, 43 | "_from": "utils-merge@1.0.0", 44 | "_npmVersion": "1.2.25", 45 | "_npmUser": { 46 | "name": "jaredhanson", 47 | "email": "jaredhanson@gmail.com" 48 | }, 49 | "maintainers": [ 50 | { 51 | "name": "jaredhanson", 52 | "email": "jaredhanson@gmail.com" 53 | } 54 | ], 55 | "directories": {}, 56 | "_shasum": "0294fb922bb9375153541c4f7096231f287c8af8", 57 | "_resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", 58 | "readme": "ERROR: No README data found!", 59 | "homepage": "https://github.com/jaredhanson/utils-merge" 60 | } 61 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/vary/.npmignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | test/ 3 | .travis.yml 4 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/vary/History.md: -------------------------------------------------------------------------------- 1 | 1.0.0 / 2014-08-10 2 | ================== 3 | 4 | * Accept valid `Vary` header string as `field` 5 | * Add `vary.append` for low-level string manipulation 6 | * Move to `jshttp` orgainzation 7 | 8 | 0.1.0 / 2014-06-05 9 | ================== 10 | 11 | * Support array of fields to set 12 | 13 | 0.0.0 / 2014-06-04 14 | ================== 15 | 16 | * Initial release 17 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/vary/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/vary/README.md: -------------------------------------------------------------------------------- 1 | # vary 2 | 3 | [![NPM Version](http://img.shields.io/npm/v/vary.svg?style=flat)](https://www.npmjs.org/package/vary) 4 | [![Node.js Version](http://img.shields.io/badge/node.js->=_0.8-blue.svg?style=flat)](http://nodejs.org/download/) 5 | [![Build Status](http://img.shields.io/travis/jshttp/vary.svg?style=flat)](https://travis-ci.org/jshttp/vary) 6 | [![Coverage Status](https://img.shields.io/coveralls/jshttp/vary.svg?style=flat)](https://coveralls.io/r/jshttp/vary) 7 | [![Gittip](http://img.shields.io/gittip/dougwilson.svg?style=flat)](https://www.gittip.com/dougwilson/) 8 | 9 | Manipulate the HTTP Vary header 10 | 11 | ## Install 12 | 13 | ```sh 14 | $ npm install vary 15 | ``` 16 | 17 | ## API 18 | 19 | ```js 20 | var vary = require('vary') 21 | ``` 22 | 23 | ### vary(res, field) 24 | 25 | Adds the given header `field` to the `Vary` response header of `res`. 26 | This can be a string of a single field, a string of a valid `Vary` 27 | header, or an array of multiple fields. 28 | 29 | This will append the header if not already listed, otherwise leaves 30 | it listed in the current location. 31 | 32 | ```js 33 | // Append "Origin" to the Vary header of the response 34 | vary(res, 'Origin') 35 | ``` 36 | 37 | ### vary.append(header, field) 38 | 39 | Adds the given header `field` to the `Vary` response header string `header`. 40 | This can be a string of a single field, a string of a valid `Vary` header, 41 | or an array of multiple fields. 42 | 43 | This will append the header if not already listed, otherwise leaves 44 | it listed in the current location. The new header string is returned. 45 | 46 | ```js 47 | // Get header string appending "Origin" to "Accept, User-Agent" 48 | vary.append('Accept, User-Agent', 'Origin') 49 | ``` 50 | 51 | ## Testing 52 | 53 | ```sh 54 | $ npm test 55 | ``` 56 | 57 | ## License 58 | 59 | [MIT](LICENSE) 60 | -------------------------------------------------------------------------------- /Tests/NodeLauncher/node_modules/express/node_modules/vary/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vary", 3 | "description": "Manipulate the HTTP Vary header", 4 | "version": "1.0.0", 5 | "author": { 6 | "name": "Douglas Christopher Wilson", 7 | "email": "doug@somethingdoug.com" 8 | }, 9 | "license": "MIT", 10 | "keywords": [ 11 | "http", 12 | "res", 13 | "vary" 14 | ], 15 | "repository": { 16 | "type": "git", 17 | "url": "https://github.com/jshttp/vary" 18 | }, 19 | "devDependencies": { 20 | "istanbul": "0.3.0", 21 | "mocha": "~1.21.4", 22 | "should": "~4.0.4", 23 | "supertest": "~0.13.0" 24 | }, 25 | "engines": { 26 | "node": ">= 0.8.0" 27 | }, 28 | "scripts": { 29 | "test": "mocha --reporter spec --bail --check-leaks test/", 30 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 31 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 32 | }, 33 | "gitHead": "56acecd9fa20888132563b00576625ea02a69a35", 34 | "bugs": { 35 | "url": "https://github.com/jshttp/vary/issues" 36 | }, 37 | "homepage": "https://github.com/jshttp/vary", 38 | "_id": "vary@1.0.0", 39 | "_shasum": "c5e76cec20d3820d8f2a96e7bee38731c34da1e7", 40 | "_from": "vary@~1.0.0", 41 | "_npmVersion": "1.4.21", 42 | "_npmUser": { 43 | "name": "dougwilson", 44 | "email": "doug@somethingdoug.com" 45 | }, 46 | "maintainers": [ 47 | { 48 | "name": "dougwilson", 49 | "email": "doug@somethingdoug.com" 50 | }, 51 | { 52 | "name": "jongleberry", 53 | "email": "jonathanrichardong@gmail.com" 54 | }, 55 | { 56 | "name": "fishrock123", 57 | "email": "fishrock123@rocketmail.com" 58 | }, 59 | { 60 | "name": "shtylman", 61 | "email": "shtylman@gmail.com" 62 | } 63 | ], 64 | "dist": { 65 | "shasum": "c5e76cec20d3820d8f2a96e7bee38731c34da1e7", 66 | "tarball": "http://registry.npmjs.org/vary/-/vary-1.0.0.tgz" 67 | }, 68 | "directories": {}, 69 | "_resolved": "https://registry.npmjs.org/vary/-/vary-1.0.0.tgz", 70 | "readme": "ERROR: No README data found!" 71 | } 72 | -------------------------------------------------------------------------------- /Tests/ReadMe.md: -------------------------------------------------------------------------------- 1 | For UnitTesting: 2 | -------------- 3 | open NgDicomViewer\Tests\Unit\Test.html 4 | 5 | For E2E testing: 6 | ---------------- 7 | 8 | Requirements:
9 |       You need to install node js
10 |       install protractor globally [ npm install protractor -g ]
11 |       updated web driver [ webdriver-manager update ]
12 | 13 | 14 | step 1: start ng-dicomviewer in local host 15 | 16 | >open node command prompt 17 | >cd to NgDicomViewer\Tests\NodeLauncher 18 | >node app.js 19 | 20 | 21 |             this will start ng-dicomviewer in local host @port 3000 22 | 23 | step 2: Start web driver 24 | 25 | 26 | >open another node command prompt 27 | >cd to NgDicomViewer\Tests\E2E 28 | >webdriver-manager start 29 | 30 | 31 | 32 | step 3 : Start protractor 33 | 34 | 35 | >open another node command prompt 36 | >cd to NgDicomViewer\Tests\E2E 37 | >protractor conf.js 38 | 39 | 40 | 41 | Note: e2e testing uses chrome as the testing browser 42 | -------------------------------------------------------------------------------- /Tests/Unit/Test.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | NgDicomViewer UnitTest 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |
34 |
NgDicomViewer Test
35 |
powerd by
36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /Tests/Unit/lib/jasmine-2.0.2/jasmine_favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hrhrprasath/NgDicomViewer/643d9e2818aa6989fea1a538c3ba648932a80c06/Tests/Unit/lib/jasmine-2.0.2/jasmine_favicon.png -------------------------------------------------------------------------------- /ng-DicomViewer.synw-proj: -------------------------------------------------------------------------------- 1 |  2 | [Ini] 3 | WorkDir= 4 | MainFile= 5 | DefLexer= 6 | DefLineEnds=0 7 | DefEnc=0 8 | SortType=2 9 | SearchDirs= 10 | UserVars= 11 | Folded=0, 12 | SelItem=3 13 | 14 | [Nodes] 15 | \{Proj}\Style.css 16 | \{Proj}\Src\NgDicomViewer.js 17 | \{Proj}\ng-DicomViewer.html 18 | [Tools] 19 | C1="" 20 | Ex1="" 21 | Dir1="" 22 | Par1="" 23 | Lex1= 24 | Key1= 25 | Re1="" 26 | S1=0,0,0,0,0,0,0,toPanel,1 27 | C2="" 28 | Ex2="" 29 | Dir2="" 30 | Par2="" 31 | Lex2= 32 | Key2= 33 | Re2="" 34 | S2=0,0,0,0,0,0,0,toPanel,1 35 | C3="" 36 | Ex3="" 37 | Dir3="" 38 | Par3="" 39 | Lex3= 40 | Key3= 41 | Re3="" 42 | S3=0,0,0,0,0,0,0,toPanel,1 43 | C4="" 44 | Ex4="" 45 | Dir4="" 46 | Par4="" 47 | Lex4= 48 | Key4= 49 | Re4="" 50 | S4=0,0,0,0,0,0,0,toPanel,1 51 | C5="" 52 | Ex5="" 53 | Dir5="" 54 | Par5="" 55 | Lex5= 56 | Key5= 57 | Re5="" 58 | S5=0,0,0,0,0,0,0,toPanel,1 59 | C6="" 60 | Ex6="" 61 | Dir6="" 62 | Par6="" 63 | Lex6= 64 | Key6= 65 | Re6="" 66 | S6=0,0,0,0,0,0,0,toPanel,1 67 | C7="" 68 | Ex7="" 69 | Dir7="" 70 | Par7="" 71 | Lex7= 72 | Key7= 73 | Re7="" 74 | S7=0,0,0,0,0,0,0,toPanel,1 75 | C8="" 76 | Ex8="" 77 | Dir8="" 78 | Par8="" 79 | Lex8= 80 | Key8= 81 | Re8="" 82 | S8=0,0,0,0,0,0,0,toPanel,1 83 | C9="" 84 | Ex9="" 85 | Dir9="" 86 | Par9="" 87 | Lex9= 88 | Key9= 89 | Re9="" 90 | S9=0,0,0,0,0,0,0,toPanel,1 91 | C10="" 92 | Ex10="" 93 | Dir10="" 94 | Par10="" 95 | Lex10= 96 | Key10= 97 | Re10="" 98 | S10=0,0,0,0,0,0,0,toPanel,1 99 | C11="" 100 | Ex11="" 101 | Dir11="" 102 | Par11="" 103 | Lex11= 104 | Key11= 105 | Re11="" 106 | S11=0,0,0,0,0,0,0,toPanel,1 107 | C12="" 108 | Ex12="" 109 | Dir12="" 110 | Par12="" 111 | Lex12= 112 | Key12= 113 | Re12="" 114 | S12=0,0,0,0,0,0,0,toPanel,1 115 | C13="" 116 | Ex13="" 117 | Dir13="" 118 | Par13="" 119 | Lex13= 120 | Key13= 121 | Re13="" 122 | S13=0,0,0,0,0,0,0,toPanel,1 123 | C14="" 124 | Ex14="" 125 | Dir14="" 126 | Par14="" 127 | Lex14= 128 | Key14= 129 | Re14="" 130 | S14=0,0,0,0,0,0,0,toPanel,1 131 | C15="" 132 | Ex15="" 133 | Dir15="" 134 | Par15="" 135 | Lex15= 136 | Key15= 137 | Re15="" 138 | S15=0,0,0,0,0,0,0,toPanel,1 139 | C16="" 140 | Ex16="" 141 | Dir16="" 142 | Par16="" 143 | Lex16= 144 | Key16= 145 | Re16="" 146 | S16=0,0,0,0,0,0,0,toPanel,1 147 | --------------------------------------------------------------------------------