mirror of
https://github.com/vishapoberon/vipak.git
synced 2026-04-06 04:52:26 +00:00
testing http
This commit is contained in:
parent
955db770ca
commit
a3ce2fdcab
2 changed files with 63 additions and 18 deletions
76
http.Mod
76
http.Mod
|
|
@ -1,28 +1,74 @@
|
||||||
MODULE http;
|
MODULE http;
|
||||||
IMPORT Internet, Logger;
|
IMPORT Strings, Internet, Logger;
|
||||||
|
CONST
|
||||||
|
|
||||||
|
MAXARRAYNUMBER = 10000;
|
||||||
|
MAXARRAYNUMBEREXTENDED = 1000000;
|
||||||
|
|
||||||
|
TYPE PSTRING = POINTER TO ARRAY OF CHAR;
|
||||||
|
|
||||||
VAR
|
VAR
|
||||||
buff: ARRAY 1000 OF CHAR;
|
buff: ARRAY MAXARRAYNUMBEREXTENDED OF CHAR;
|
||||||
PROCEDURE get(host, port: ARRAY OF CHAR; VAR buff: ARRAY OF CHAR);
|
|
||||||
|
PROCEDURE AppendEOLAndClean(buff: ARRAY OF CHAR; VAR buffClean: PSTRING);
|
||||||
|
VAR i: LONGINT;
|
||||||
|
BEGIN
|
||||||
|
i := Strings.Length(buff);
|
||||||
|
|
||||||
|
NEW(buffClean, i + 3);
|
||||||
|
|
||||||
|
COPY(buff, buffClean^);
|
||||||
|
|
||||||
|
buffClean[i] := 0DX;
|
||||||
|
buffClean[i + 1] := 0AX;
|
||||||
|
buffClean[i + 2] := " ";
|
||||||
|
END AppendEOLAndClean;
|
||||||
|
|
||||||
|
PROCEDURE get(host, path, port: ARRAY OF CHAR; VAR buff: ARRAY OF CHAR);
|
||||||
VAR
|
VAR
|
||||||
socket : Internet.Socket;
|
socket : Internet.Socket;
|
||||||
connectionFlag: BOOLEAN;
|
connectionFlag: BOOLEAN;
|
||||||
send: ARRAY 7 OF CHAR;
|
send: ARRAY MAXARRAYNUMBER OF CHAR;
|
||||||
|
sendClean: PSTRING;
|
||||||
|
httpTail: ARRAY 16 OF CHAR;
|
||||||
|
endOfLine: ARRAY 3 OF CHAR;
|
||||||
|
tmpBuff: ARRAY MAXARRAYNUMBER OF CHAR;
|
||||||
BEGIN
|
BEGIN
|
||||||
connectionFlag := Internet.Connect(host, port, socket);
|
COPY("", buff);
|
||||||
send[0] := "G";
|
httpTail := " HTTP/1.1";
|
||||||
send[1] := "E";
|
|
||||||
send[2] := "T";
|
connectionFlag := Internet.Connect(host, port, socket);
|
||||||
send[3] := 0DX;
|
|
||||||
send[4] := 0AX;
|
send := "GET ";
|
||||||
send[5] := " ";
|
|
||||||
(* Somewhy it's ignoring the last byte *)
|
Strings.Append(path, send);
|
||||||
|
|
||||||
|
AppendEOLAndClean(send, sendClean);
|
||||||
|
Logger.Log(sendClean^);
|
||||||
|
connectionFlag := Internet.Write(socket, sendClean^);
|
||||||
|
send := "HOST: ";
|
||||||
|
|
||||||
|
Strings.Append(host, send);
|
||||||
|
|
||||||
|
AppendEOLAndClean(send, sendClean);
|
||||||
|
Logger.Log(sendClean^);
|
||||||
|
connectionFlag := Internet.Write(socket, sendClean^);
|
||||||
|
|
||||||
|
AppendEOLAndClean("", sendClean);
|
||||||
|
Logger.Log(sendClean^);
|
||||||
|
connectionFlag := Internet.Write(socket, sendClean^);
|
||||||
|
|
||||||
|
REPEAT
|
||||||
|
connectionFlag := Internet.Read(socket, tmpBuff);
|
||||||
|
Strings.Append(tmpBuff, buff);
|
||||||
|
Logger.Log(tmpBuff);
|
||||||
|
UNTIL ~connectionFlag;
|
||||||
|
|
||||||
connectionFlag := Internet.Write(socket, send);
|
|
||||||
connectionFlag := Internet.Read(socket, buff);
|
|
||||||
Internet.Disconnect(socket);
|
Internet.Disconnect(socket);
|
||||||
END get;
|
END get;
|
||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
get("voto.am", "80", buff);
|
get("norayr.am", "/seq.txt", "80", buff);
|
||||||
Logger.Log(buff);
|
Logger.Log(buff);
|
||||||
|
|
||||||
END http.
|
END http.
|
||||||
7
makefile
7
makefile
|
|
@ -26,7 +26,6 @@ clean:
|
||||||
run:
|
run:
|
||||||
./builds/opium install
|
./builds/opium install
|
||||||
|
|
||||||
file:
|
|
||||||
cd builds && \
|
http:
|
||||||
$(VOC) -s \
|
$(VOC) -s time.Mod logger.Mod types.Mod sockets.Mod netdb.Mod Internet.Mod http.Mod -m
|
||||||
../FileManager.Mod -m
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue