@mistweaverco/kulala-core
v0.1.6
Published
<div align="center">
Readme
Kulala Core
Kulala is swahili for "rest" or "relax."
A straightforwarded, powerful, and extendable HTTP client library. It powers the Kulala toolchain, and can be used as a standalone library.
Overview
A RESTful API is a web service architecture that adheres to specific constraints:
- statelessness,
- uniform interface,
- client-server separation
Typically using HTTP methods like GET, POST, PUT, and DELETE.
It uses standard web protocols to enable interoperability
between distributed systems.
Features
Request types
- HTTP RESTful (1.0, 1.1, 2, 3)
- GraphQL (queries, mutations)
Variables
- Host Environment
- Document variables
- Request scoped variables
http-client.envfiles- Built-in support for kuba
Scripting
Supports JavaScript, Lua, and TypeScript for:
- Pre-request
- Post-request
- Conditional
- Inline
- External
Authentication
- Basic
- Bearer
- OAuth 2.0
Automation and testing
Assertions, automated testing and reporting is compatible with the IntelliJ HTTP Client:
Usage
See the examples directory for usage examples.
Vendored curl
npm install/bun install: the@mistweaverco/kulala-corepackage runspostinstall, which downloads a pinned static curl for the installing machine’s OS and architecture into the user cache (or you can setKULALA_CURL_PATHto your own binary).- Published library (
dist/): the npm build sets__KULALA_EMBED_CURL__=false, so the tarball does not embed curl from the machine that rannpm publish. bun build --compile(your app or the examples): runpackages/core/scripts/generate-vendored-curl.ts(optionally with--target=bun-…for cross-compiles), then compile with--define __KULALA_EMBED_CURL__=trueso the correct curl is embedded for that build. For cross-compilation you must have the matching curl available under the cache path or undervendor/curl/<platform>-<arch>/in this repo.
