Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cloudflare/cobweb
COBOL to WebAssembly compiler
https://github.com/cloudflare/cobweb
Last synced: 14 days ago
JSON representation
COBOL to WebAssembly compiler
- Host: GitHub
- URL: https://github.com/cloudflare/cobweb
- Owner: cloudflare
- License: mit
- Created: 2020-04-12T10:11:06.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-10-08T07:32:47.000Z (about 1 month ago)
- Last Synced: 2024-10-08T12:48:01.679Z (about 1 month ago)
- Language: COBOL
- Homepage:
- Size: 5.51 MB
- Stars: 353
- Watchers: 8
- Forks: 16
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE_MIT
Awesome Lists containing this project
- awesome-list - cobweb
README
# CobWeb
See announcement [Cloudflare Workers Now Support COBOL](https://blog.cloudflare.com/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`:```sh
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:
```sh
make all
```Compile COBOL to WebAssembly:
```sh
./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:
```cobol
CALL "set_http_status" USING "400".
```Set the response body to a string:
```cobol
CALL "set_http_body" USING "something".
```Append a string to the response body:
```cobol
CALL "append_http_body" USING "something".
```Get HTTP form values:
```cobol
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](./example).