32 lines
893 B
Markdown
32 lines
893 B
Markdown
|
# openscad-http-api
|
|||
|
|
|||
|
WIP. Only a proof-of-concept.
|
|||
|
|
|||
|
See [Known Issues](#known-issues) for **security implications**.
|
|||
|
|
|||
|
## Usage
|
|||
|
|
|||
|
For development:
|
|||
|
|
|||
|
FLASK_DEBUG=1 FLASK_APP=openscad-http-api nix develop -c python3 -m flask run
|
|||
|
|
|||
|
It makes the templates in the `template` directory relative to where you run that command
|
|||
|
available at `/api/render/<template>` on the port printed to stdout.
|
|||
|
|
|||
|
You can test that it works by rendering the provided default model:
|
|||
|
|
|||
|
curl http://127.0.0.1:5000/api/render/cube -XPOST -H "Content-Type: application/json" -d '{"size": 10}'
|
|||
|
|
|||
|
It should print out the STL representation of a 10×10×10 cube.
|
|||
|
|
|||
|
## Known Issues
|
|||
|
|
|||
|
* Does not sanitise user input, so arbitrary OpenSCAD code can be executed.
|
|||
|
* Does not validate user input
|
|||
|
* Not optimised for performance
|
|||
|
|
|||
|
## License
|
|||
|
|
|||
|
GNU Affero General Public License version 3 (only).
|
|||
|
See [LICENSE](LICENSE) for details.
|