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);