Deployed the page to Github Pages.
This commit is contained in:
parent
1d79754e93
commit
2c89899458
62797 changed files with 6551425 additions and 15279 deletions
45
node_modules/caseless/README.md
generated
vendored
Normal file
45
node_modules/caseless/README.md
generated
vendored
Normal file
|
@ -0,0 +1,45 @@
|
|||
## Caseless -- wrap an object to set and get property with caseless semantics but also preserve caseing.
|
||||
|
||||
This library is incredibly useful when working with HTTP headers. It allows you to get/set/check for headers in a caseless manner while also preserving the caseing of headers the first time they are set.
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var headers = {}
|
||||
, c = caseless(headers)
|
||||
;
|
||||
c.set('a-Header', 'asdf')
|
||||
c.get('a-header') === 'asdf'
|
||||
```
|
||||
|
||||
## has(key)
|
||||
|
||||
Has takes a name and if it finds a matching header will return that header name with the preserved caseing it was set with.
|
||||
|
||||
```javascript
|
||||
c.has('a-header') === 'a-Header'
|
||||
```
|
||||
|
||||
## set(key, value[, clobber=true])
|
||||
|
||||
Set is fairly straight forward except that if the header exists and clobber is disabled it will add `','+value` to the existing header.
|
||||
|
||||
```javascript
|
||||
c.set('a-Header', 'fdas')
|
||||
c.set('a-HEADER', 'more', false)
|
||||
c.get('a-header') === 'fdsa,more'
|
||||
```
|
||||
|
||||
## swap(key)
|
||||
|
||||
Swaps the casing of a header with the new one that is passed in.
|
||||
|
||||
```javascript
|
||||
var headers = {}
|
||||
, c = caseless(headers)
|
||||
;
|
||||
c.set('a-Header', 'fdas')
|
||||
c.swap('a-HEADER')
|
||||
c.has('a-header') === 'a-HEADER'
|
||||
headers === {'a-HEADER': 'fdas'}
|
||||
```
|
65
node_modules/caseless/index.js
generated
vendored
Normal file
65
node_modules/caseless/index.js
generated
vendored
Normal file
|
@ -0,0 +1,65 @@
|
|||
function Caseless (dict) {
|
||||
this.dict = dict
|
||||
}
|
||||
Caseless.prototype.set = function (name, value, clobber) {
|
||||
if (typeof name === 'object') {
|
||||
for (var i in name) {
|
||||
this.set(i, name[i], value)
|
||||
}
|
||||
} else {
|
||||
if (typeof clobber === 'undefined') clobber = true
|
||||
var has = this.has(name)
|
||||
|
||||
if (!clobber && has) this.dict[has] = this.dict[has] + ',' + value
|
||||
else this.dict[has || name] = value
|
||||
return has
|
||||
}
|
||||
}
|
||||
Caseless.prototype.has = function (name) {
|
||||
var keys = Object.keys(this.dict)
|
||||
, name = name.toLowerCase()
|
||||
;
|
||||
for (var i=0;i<keys.length;i++) {
|
||||
if (keys[i].toLowerCase() === name) return keys[i]
|
||||
}
|
||||
return false
|
||||
}
|
||||
Caseless.prototype.get = function (name) {
|
||||
name = name.toLowerCase()
|
||||
var result, _key
|
||||
var headers = this.dict
|
||||
Object.keys(headers).forEach(function (key) {
|
||||
_key = key.toLowerCase()
|
||||
if (name === _key) result = headers[key]
|
||||
})
|
||||
return result
|
||||
}
|
||||
Caseless.prototype.swap = function (name) {
|
||||
var has = this.has(name)
|
||||
if (!has) throw new Error('There is no header than matches "'+name+'"')
|
||||
this.dict[name] = this.dict[has]
|
||||
delete this.dict[has]
|
||||
}
|
||||
Caseless.prototype.del = function (name) {
|
||||
var has = this.has(name)
|
||||
return delete this.dict[has || name]
|
||||
}
|
||||
|
||||
module.exports = function (dict) {return new Caseless(dict)}
|
||||
module.exports.httpify = function (resp, headers) {
|
||||
var c = new Caseless(headers)
|
||||
resp.setHeader = function (key, value, clobber) {
|
||||
return c.set(key, value, clobber)
|
||||
}
|
||||
resp.hasHeader = function (key) {
|
||||
return c.has(key)
|
||||
}
|
||||
resp.getHeader = function (key) {
|
||||
return c.get(key)
|
||||
}
|
||||
resp.removeHeader = function (key) {
|
||||
return c.del(key)
|
||||
}
|
||||
resp.headers = c.dict
|
||||
return c
|
||||
}
|
27
node_modules/caseless/package.json
generated
vendored
Normal file
27
node_modules/caseless/package.json
generated
vendored
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"name": "caseless",
|
||||
"version": "0.8.0",
|
||||
"description": "Caseless object set/get/has, very useful when working with HTTP headers.",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "node test.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/mikeal/caseless"
|
||||
},
|
||||
"keywords": [
|
||||
"headers",
|
||||
"http",
|
||||
"caseless"
|
||||
],
|
||||
"test": "node test.js",
|
||||
"author": "Mikeal Rogers <mikeal.rogers@gmail.com>",
|
||||
"license": "BSD",
|
||||
"bugs": {
|
||||
"url": "https://github.com/mikeal/caseless/issues"
|
||||
},
|
||||
"devDependencies": {
|
||||
"tape": "^2.10.2"
|
||||
}
|
||||
}
|
40
node_modules/caseless/test.js
generated
vendored
Normal file
40
node_modules/caseless/test.js
generated
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
var tape = require('tape')
|
||||
, caseless = require('./')
|
||||
;
|
||||
|
||||
tape('set get has', function (t) {
|
||||
var headers = {}
|
||||
, c = caseless(headers)
|
||||
;
|
||||
t.plan(17)
|
||||
c.set('a-Header', 'asdf')
|
||||
t.equal(c.get('a-header'), 'asdf')
|
||||
t.equal(c.has('a-header'), 'a-Header')
|
||||
t.ok(!c.has('nothing'))
|
||||
// old bug where we used the wrong regex
|
||||
t.ok(!c.has('a-hea'))
|
||||
c.set('a-header', 'fdsa')
|
||||
t.equal(c.get('a-header'), 'fdsa')
|
||||
t.equal(c.get('a-Header'), 'fdsa')
|
||||
c.set('a-HEADER', 'more', false)
|
||||
t.equal(c.get('a-header'), 'fdsa,more')
|
||||
|
||||
t.deepEqual(headers, {'a-Header': 'fdsa,more'})
|
||||
c.swap('a-HEADER')
|
||||
t.deepEqual(headers, {'a-HEADER': 'fdsa,more'})
|
||||
|
||||
c.set('deleteme', 'foobar')
|
||||
t.ok(c.has('deleteme'))
|
||||
t.ok(c.del('deleteme'))
|
||||
t.notOk(c.has('deleteme'))
|
||||
t.notOk(c.has('idonotexist'))
|
||||
t.ok(c.del('idonotexist'))
|
||||
|
||||
c.set('tva', 'test1')
|
||||
c.set('tva-header', 'test2')
|
||||
t.equal(c.has('tva'), 'tva')
|
||||
t.notOk(c.has('header'))
|
||||
|
||||
t.equal(c.get('tva'), 'test1')
|
||||
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue