Parsing HTTP Request Header
by Amy L
TypeScript
function parseHttpHeader(headerStr: string): RequestParametersHeader {
let headerObj: RequestParametersHeader = {};
console.log(headerStr);
let headers: string[] = headerStr.split(/(\r\n|\r|\n)/mg).map((str: string) => str.trim()).filter((str: string) => str.length > 0);
console.log(headers)
headers.forEach((header: string) => {
console.info('each', header);
let delimiterPos: number = header.indexOf(':');
let headerKey: string = header.substring(0, delimiterPos).trim();
let headerValue: string = header.substring(delimiterPos + 1).trim();
headerObj[headerKey] = headerValue;
});
console.log(headerObj);
return headerObj;
}
let str = "Date: Tue, 27 Sep 2016 22:21:35 GMT, Tue, 27 Sep 2016 22:21:35 GMT \rX-Frame-Options: SAMEORIGIN\rContent-Length: 60\rVary: Accept-Encoding\rContent-Type: application/json";
console.clear();
parseHttpHeader(str);