 	func request(method: String, URL: NSURL, payload: NSData?, callback: HTTPClientCallback) {
 		let request = NSMutableURLRequest(URL: URL)
 		request.HTTPMethod = method
+		
+		for (key, value) in headers {
+			request.setValue(value, forHTTPHeaderField: key)
+		}
 		
 		if let payload = payload {
 			request.HTTPBody = payload

*/
public class URLSessionClient: _HTTPClientProtocol {
	let urlSession: NSURLSession
	
	init() {
		let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
		urlSession = NSURLSession(configuration: configuration)
		setHeader("Content-Type", to: "application/vnd.api+json")
	}
	
	public func setHeader(header: String, to value: String) {
		urlSession.configuration.HTTPAdditionalHeaders?.updateValue(value, forKey: header)
	}
	
	public func removeHeader(header: String) {
		urlSession.configuration.HTTPAdditionalHeaders?.removeValueForKey(header)
	}
	
	func request(method: String, URL: NSURL, callback: HTTPClientCallback) {

				resolvedError = NSError(domain: SPINE_API_ERROR_DOMAIN, code: response.statusCode, userInfo: nil)
			}
			
			if Spine.shouldLog(.Debug, domain: .Networking) {
				if let stringRepresentation = NSString(data: data, encoding: NSUTF8StringEncoding) {
					Spine.logDebug(.Networking, stringRepresentation)
				}
			}
			
			callback(statusCode: response.statusCode, responseData: data, error: resolvedError)
		}
		
