Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 14x 10x 10x | import { XHRFingerprintMetadata } from './types'
import { PatcherRequest } from '../types'
import { logger } from '../../../shared/logger'
/**
* Creates a PatcherRequest object from an XMLHttpRequest and its metadata.
*
* @param {XMLHttpRequest} request - The XMLHttpRequest instance to configure.
* @param {XHRFingerprintMetadata} metadata - The metadata containing URL and method for the request.
* @return {PatcherRequest} A PatcherRequest object with URL, method, and header-setting capability.
*/
export function createPatcherRequest(request: XMLHttpRequest, metadata: XHRFingerprintMetadata): PatcherRequest {
return {
url: metadata.url,
method: metadata.method,
setHeader: (name: string, value: string) => {
try {
request.setRequestHeader(name, value)
} catch (e) {
logger.warn('Failed to set XHR request header:', e)
}
},
}
}
|