better parsing of the response header.

This commit is contained in:
Norayr Chilingarian 2024-01-24 04:54:58 +04:00
parent 99e40b1050
commit 0dafbd6674

View file

@ -9,6 +9,10 @@ CONST
defUAStr = "User-Agent"; defUAStr = "User-Agent";
defAcceptStr = "Accept"; defAcceptStr = "Accept";
defEverythingStr = "*/*"; defEverythingStr = "*/*";
hdrDate = "Date";
hdrServer = "Server";
TYPE TYPE
httpClient = POINTER TO httpClientDesc; httpClient = POINTER TO httpClientDesc;
@ -167,7 +171,6 @@ END readHeader;
PROCEDURE processHeader(VAR http: httpClient; VAR hdr: ARRAY OF CHAR); PROCEDURE processHeader(VAR http: httpClient; VAR hdr: ARRAY OF CHAR);
VAR VAR
len, i, j: INTEGER; len, i, j: INTEGER;
pkey: strTypes.pstring;
key, val: ARRAY 64 OF CHAR; key, val: ARRAY 64 OF CHAR;
BEGIN BEGIN
@ -183,10 +186,9 @@ strUtils.string2pstring(http^.rspnPstrings^[0]^, http^.rspnFirstLine);
REPEAT REPEAT
Out.Int(i, 0); Out.String(": "); Out.Int(i, 0); Out.String(": ");
Out.String(http^.rspnPstrings^[i]^); Out.Ln; Out.String(http^.rspnPstrings^[i]^); Out.Ln;
pkey := strUtils.ExtractWord(0, http^.rspnPstrings^[i]^, ':');
strUtils.getNextWord(http^.rspnPstrings^[i]^, 0, key);
Out.String("key: '"); Out.String(key); Out.Char("'"); Out.Ln;
j := strUtils.Pos(':', http^.rspnPstrings^[i]^, 0); j := strUtils.Pos(':', http^.rspnPstrings^[i]^, 0);
Strings.Extract(http^.rspnPstrings^[i]^, 0, j, key);
Out.String("key: '"); Out.String(key); Out.Char("'"); Out.Ln;
strUtils.getTillEOL(http^.rspnPstrings^[i]^, j+1, val); strUtils.getTillEOL(http^.rspnPstrings^[i]^, j+1, val);
Out.String("val: '"); Out.String(val); Out.Char("'"); Out.Ln; Out.String("val: '"); Out.String(val); Out.Char("'"); Out.Ln;
INC(i) INC(i)