SQLite server over HTTP
POST /query
Run a prepared SQLite statement. Accepts a JSON with these properties:
| Property | Description | Required |
|---|---|---|
s |
string with the statement | yes |
d |
data to bind on a statement | no |
m |
method to execute: all, run or get. Run is the default |
no |
// select all items using fetch
fetch('https://db.example.com/query', {
method: 'POST',
body: JSON.stringify({
s: 'SELECT * FROM user WHERE id = ?',
d: [123],
m: 'all',
});
});
// select using the server-provided library
import db from 'https://db.example.com/index.mjs';
const user = await db.query('SELECT * FROM user WHERE id = ?', [123]);If BASE_DOMAIN is set, the server will be available at https://db-name.BASE_DOMAIN/ with a multi-database support, where db-name is the name of the database file without the .sqlite extension. The database is selected by the db-name part of the URL, so you can have multiple databases on the same server.
Otherwise, it will be available at http://localhost:PORT/ and serve a single database.
| Variable | Description |
|---|---|
| PORT | HTTP port |
| DATA_PATH | Path to a folder where the database files are stored |
| BASE_DOMAIN | Root domain to use in a multi-db server, e.g. .example.com |