-
Notifications
You must be signed in to change notification settings - Fork 0
COBOL
PiotrFerenc edited this page May 14, 2024
·
1 revision
IDENTIFICATION DIVISION.
PROGRAM-ID. HttpPostExample.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-370.
OBJECT-COMPUTER. IBM-370.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-URL PIC X(50) VALUE 'http://localhost:5000/execute'.
01 WS-REQUEST-PAYLOAD.
05 WS-PARAMETERS.
10 WS-CONSOLE-TEXT PIC X(20) VALUE 'hallo word'.
05 WS-TASKS OCCURS 1 TIMES.
10 WS-SEQUENCE PIC 9(2) VALUE 1.
10 WS-NAME PIC X(10) VALUE 'log'.
10 WS-ACTION PIC X(10) VALUE 'console'.
01 WS-JSON-CONTENT PIC X(200).
01 WS-CONTENT-LENGTH PIC 9(5).
01 WS-RESPONSE-CODE PIC 9(3).
01 WS-RESPONSE-BODY PIC X(200).
PROCEDURE DIVISION.
PERFORM PREPARE-JSON-CONTENT
PERFORM SEND-HTTP-POST
PERFORM PROCESS-RESPONSE
STOP RUN.
PREPARE-JSON-CONTENT.
MOVE '{
"Parameters": {
"ConsoleText": "' TO WS-JSON-CONTENT.
STRING WS-CONSOLE-TEXT DELIMITED BY SPACE
'"
},
"Tasks": [
{
"Sequence": ' DELIMITED BY SPACE
INTO WS-JSON-CONTENT.
STRING WS-SEQUENCE DELIMITED BY SPACE
',
"Name": "' DELIMITED BY SPACE
INTO WS-JSON-CONTENT.
STRING WS-NAME DELIMITED BY SPACE
'",
"Action": "' DELIMITED BY SPACE
INTO WS-JSON-CONTENT.
STRING WS-ACTION DELIMITED BY SPACE
'"
}
]
}' DELIMITED BY SPACE
INTO WS-JSON-CONTENT.
INSPECT WS-JSON-CONTENT TALLYING WS-CONTENT-LENGTH FOR CHARACTERS.
SEND-HTTP-POST.
CALL 'EZASOKET' USING
BY VALUE 'POST'
BY REFERENCE WS-URL
BY REFERENCE WS-JSON-CONTENT
BY VALUE WS-CONTENT-LENGTH
RETURNING WS-RESPONSE-CODE.
PROCESS-RESPONSE.
IF WS-RESPONSE-CODE = 200
DISPLAY 'Response: ' WS-RESPONSE-BODY
ELSE
DISPLAY 'Error: ' WS-RESPONSE-CODE.
END PROGRAM HttpPostExample.