mirror of
				https://github.com/1disk/edp445.git
				synced 2024-08-14 22:47:02 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ## 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'}
 | |
| ```
 |