Http works!!!!!!

This commit is contained in:
Ruben Shekspir 2019-05-04 17:41:24 +04:00
parent f16ef2418b
commit ea7a66f84d

View file

@ -4,7 +4,8 @@ CONST
MAXARRAYNUMBER = 10000; MAXARRAYNUMBER = 10000;
MAXARRAYNUMBEREXTENDED = 1000000; MAXARRAYNUMBEREXTENDED = 1000000;
TYPE PSTRING = POINTER TO ARRAY OF CHAR; TYPE
PSTRING = POINTER TO ARRAY OF CHAR;
VAR VAR
buff: ARRAY MAXARRAYNUMBEREXTENDED OF CHAR; buff: ARRAY MAXARRAYNUMBEREXTENDED OF CHAR;
@ -23,6 +24,17 @@ BEGIN
buffClean[i + 2] := " "; buffClean[i + 2] := " ";
END AppendEOLAndClean; END AppendEOLAndClean;
PROCEDURE addHeader(key, val: ARRAY OF CHAR; VAR buff: PSTRING);
VAR
header: ARRAY MAXARRAYNUMBER OF CHAR;
BEGIN
COPY("", header);
Strings.Append(key, header);
Strings.Append(": ", header);
Strings.Append(val, header);
AppendEOLAndClean(header, buff);
END addHeader;
PROCEDURE get(host, path, port: ARRAY OF CHAR; VAR buff: ARRAY OF CHAR); PROCEDURE get(host, path, port: ARRAY OF CHAR; VAR buff: ARRAY OF CHAR);
VAR VAR
socket : Internet.Socket; socket : Internet.Socket;
@ -41,16 +53,19 @@ BEGIN
send := "GET "; send := "GET ";
Strings.Append(path, send); Strings.Append(path, send);
Strings.Append(httpTail, send);
AppendEOLAndClean(send, sendClean); AppendEOLAndClean(send, sendClean);
Logger.Log(sendClean^);
connectionFlag := Internet.Write(socket, sendClean^); connectionFlag := Internet.Write(socket, sendClean^);
send := "HOST: ";
Strings.Append(host, send); addHeader("HOST", host, sendClean);
connectionFlag := Internet.Write(socket, sendClean^);
AppendEOLAndClean(send, sendClean); addHeader("User-Agent", "oberon-http-client/1.0", sendClean);
Logger.Log(sendClean^); connectionFlag := Internet.Write(socket, sendClean^);
addHeader("Accept", "*/*", sendClean);
connectionFlag := Internet.Write(socket, sendClean^); connectionFlag := Internet.Write(socket, sendClean^);
AppendEOLAndClean("", sendClean); AppendEOLAndClean("", sendClean);
@ -66,6 +81,6 @@ BEGIN
END get; END get;
BEGIN BEGIN
get("norayr.am", "/gf.jpg", "80", buff); get("norayr.am", "/tmp/", "80", buff);
Logger.Log(buff); Logger.Log(buff);
END http. END http.