Home

Awesome

CobWeb

See announcement Cloudflare Workers Now Support COBOL.

Uses GnuCOBOL 2.2.

Usage with Docker

To avoid setting up the compiler environment locally, you can use a pre-built Docker image: xtuc/cobweb:

docker run \
  -e EM_OUT \
  -e EM_ARGS \
  -v /tmp/cobol-worker:/root/.emscripten_cache/ \
  -v $PWD:/worker \
  -v $PWD/build:/build \
  xtuc/cobweb \
  /worker/src/worker.cob

Usage

Compile dependecies:

make all

Compile COBOL to WebAssembly:

./cobweb.sh source.cob

program-id

The program-id should be worker otherwise the program will fail to compile.

Worker API

Set the HTTP status code:

CALL "set_http_status" USING "400".

Set the response body to a string:

CALL "set_http_body" USING "something".

Append a string to the response body:

CALL "append_http_body" USING "something".

Get HTTP form values:

WORKING-STORAGE SECTION.
    01 THE-VALUE PIC S9(9) BINARY.
PROCEDURE DIVISION.
    CALL "get_http_form" USING "key" RETURNING THE-VALUE.

Example

See the example.