(config)
| 12418 | } |
| 12419 | |
| 12420 | function mergeHeaders(config) { |
| 12421 | var defHeaders = defaults.headers, |
| 12422 | reqHeaders = extend({}, config.headers), |
| 12423 | defHeaderName, lowercaseDefHeaderName, reqHeaderName; |
| 12424 | |
| 12425 | defHeaders = extend({}, defHeaders.common, defHeaders[lowercase(config.method)]); |
| 12426 | |
| 12427 | // using for-in instead of forEach to avoid unnecessary iteration after header has been found |
| 12428 | defaultHeadersIteration: |
| 12429 | for (defHeaderName in defHeaders) { |
| 12430 | lowercaseDefHeaderName = lowercase(defHeaderName); |
| 12431 | |
| 12432 | for (reqHeaderName in reqHeaders) { |
| 12433 | if (lowercase(reqHeaderName) === lowercaseDefHeaderName) { |
| 12434 | continue defaultHeadersIteration; |
| 12435 | } |
| 12436 | } |
| 12437 | |
| 12438 | reqHeaders[defHeaderName] = defHeaders[defHeaderName]; |
| 12439 | } |
| 12440 | |
| 12441 | // execute if header value is a function for merged headers |
| 12442 | return executeHeaderFns(reqHeaders, shallowCopy(config)); |
| 12443 | } |
| 12444 | |
| 12445 | function serverRequest(config) { |
| 12446 | var headers = config.headers; |
no test coverage detected