Cobweb fork for Cobular
  • C 68.1%
  • COBOL 13.2%
  • Shell 7.1%
  • Makefile 5.5%
  • Dockerfile 3.3%
  • Other 2.8%
Find a file
barnii77 3a31254067
Some checks are pending
Semgrep config / semgrep/ci (push) Waiting to run
Add computed signal FFI
2026-01-13 13:46:21 +00:00
.github/workflows Update semgrep.yml 2024-09-25 19:04:53 -04:00
deps Patch cobweb for browser wasm runtime 2026-01-12 22:07:21 +00:00
example rename to CobWeb 2020-09-22 12:32:57 +01:00
.gitignore Ignore build outputs 2026-01-12 22:17:27 +00:00
cobweb.c Add computed signal FFI 2026-01-13 13:46:21 +00:00
cobweb.sh Add computed signal FFI 2026-01-13 13:46:21 +00:00
Dockerfile rename to CobWeb 2020-09-22 12:32:57 +01:00
LICENSE_MIT initial 2020-04-14 13:56:25 +01:00
Makefile Patch cobweb for browser wasm runtime 2026-01-12 22:07:21 +00:00
README.md docs: add link to blog 2020-09-22 13:00:19 +01:00

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.