README.md (1173B)
1 ## Caseless -- wrap an object to set and get property with caseless semantics but also preserve caseing. 2 3 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. 4 5 ## Usage 6 7 ```javascript 8 var headers = {} 9 , c = caseless(headers) 10 ; 11 c.set('a-Header', 'asdf') 12 c.get('a-header') === 'asdf' 13 ``` 14 15 ## has(key) 16 17 Has takes a name and if it finds a matching header will return that header name with the preserved caseing it was set with. 18 19 ```javascript 20 c.has('a-header') === 'a-Header' 21 ``` 22 23 ## set(key, value[, clobber=true]) 24 25 Set is fairly straight forward except that if the header exists and clobber is disabled it will add `','+value` to the existing header. 26 27 ```javascript 28 c.set('a-Header', 'fdas') 29 c.set('a-HEADER', 'more', false) 30 c.get('a-header') === 'fdsa,more' 31 ``` 32 33 ## swap(key) 34 35 Swaps the casing of a header with the new one that is passed in. 36 37 ```javascript 38 var headers = {} 39 , c = caseless(headers) 40 ; 41 c.set('a-Header', 'fdas') 42 c.swap('a-HEADER') 43 c.has('a-header') === 'a-HEADER' 44 headers === {'a-HEADER': 'fdas'} 45 ```