Rushmore Mushambi
f0eaf2bd19
Improve RPC method return types ( #1384 )
2022-10-19 23:54:41 +01:00
Tobie Morgan Hitchcock
c098fe3380
Respond to WebSocket ping messages with a pong message
2022-10-19 21:11:15 +01:00
Tobie Morgan Hitchcock
1becd3ab55
Don’t throw an RPC Error when no params
key is specified
2022-10-19 18:57:03 +01:00
Tobie Morgan Hitchcock
65f8194a1f
Fix code linting warnings
2022-10-19 15:35:42 +01:00
Tobie Morgan Hitchcock
18d69a620c
Add WebSocket ping->pong message ticker
2022-10-19 14:56:43 +01:00
Tobie Morgan Hitchcock
7ed0af4750
Add support for SQL parameters in HTTP REST endpoints
2022-10-17 02:00:15 +01:00
Tobie Morgan Hitchcock
810e174c63
Code tidy up
2022-10-16 23:20:57 +01:00
Tobie Morgan Hitchcock
264f208379
Change the log identifier for web requests
2022-10-16 17:36:07 +01:00
Tobie Morgan Hitchcock
f31b7d7d17
Allow number values for JSON RPC id
field
2022-10-16 17:36:07 +01:00
Tobie Morgan Hitchcock
9546b07d71
Add version method to HTTP RPC endpoint
2022-10-16 17:36:07 +01:00
Tobie Morgan Hitchcock
90a5e82e72
ENsure session is completely clearer when invalidated
...
Closes #1314
2022-10-04 22:26:03 +01:00
Tobie Morgan Hitchcock
d8c7efefd4
Ensure integer Record IDs are treated correctly in HTTP REST endpoints
...
Closes #1281
2022-10-01 15:50:39 +01:00
Tobie Morgan Hitchcock
711df70bb9
Allow namespaced claim aliases in JWT token
...
Closes #1269
Closes #1268
2022-09-29 07:54:48 +01:00
Rushmore Mushambi
bcac94f9d6
Add additional build metadata to version identifier ( #1254 )
2022-09-28 20:13:40 +01:00
Tobie Morgan Hitchcock
a96c6ff8ca
Allow authentication token to be verified with or without Bearer
or Basic
prefix
2022-09-28 01:19:18 +01:00
Tobie Morgan Hitchcock
a82e45f461
Enable more customisable JWT verification
...
Closes #1244
2022-09-27 22:07:41 +01:00
Rushmore Mushambi
c064890284
Fix the build ( #1248 )
2022-09-27 16:35:03 +01:00
Tobie Morgan Hitchcock
abd15ec55c
Use Accept header on /import and /export HTTP routes
...
Closes #1245
2022-09-27 15:58:20 +01:00
Tobie Morgan Hitchcock
d8953ab7f8
Ensure HTTP session is not verified multiple times
2022-09-25 23:13:29 +01:00
Tobie Morgan Hitchcock
75d1e86990
Add DEFINE TOKEN … ON SCOPE … functionality
...
Closes #144
2022-09-25 22:58:38 +01:00
Tobie Morgan Hitchcock
0cb865dc44
Support different Content-Type outputs on /signup and /signin routes
...
Closes #1223
2022-09-25 13:05:56 +01:00
Tobie Morgan Hitchcock
2fccc87fab
Don’t prettify empty responses in SQL REPL
2022-09-25 10:56:57 +01:00
Tobie Morgan Hitchcock
b9603aacab
Improve HTTP error messages and status codes
2022-09-25 10:56:57 +01:00
Tobie Morgan Hitchcock
b4209180b6
Ensure server listents to SIGINT/SIGTERM signals
...
Closes #120
2022-09-22 03:01:11 +01:00
Tobie Morgan Hitchcock
ffeb56fc7e
Redirect to temporary website holding page for app interface
...
Closes #219
2022-09-21 01:03:38 +01:00
Tobie Morgan Hitchcock
1dd08bedaa
Handle errors properly when WebSocket client disconnects improperly
...
Closes #181
Closes #195
Closes #140
2022-09-20 23:04:40 +01:00
Tobie Morgan Hitchcock
d6b544771f
Rename function for simplicity
2022-09-19 12:28:41 +01:00
Tobie Morgan Hitchcock
a7444a7c8e
Add authentication token claims data to session object
...
Closes #135
2022-09-17 03:05:23 +01:00
Ryan Russell
b4b2ceb187
Make readability fixes to Rust code comments ( #157 )
2022-09-17 02:50:10 +01:00
Tobie Morgan Hitchcock
8403238dbb
Use Accept header instead of Content-Type header for client content negotiation
2022-09-16 02:19:06 +01:00
Tobie Morgan Hitchcock
b2f4101a9c
Improve HTTP request error messages
...
Closes #153
2022-09-16 00:41:16 +01:00
Tobie Morgan Hitchcock
23d1132526
Ignore blank/empty lines in SurrealDB SQL REPL
...
Closes #147
2022-09-15 00:39:25 +01:00
Tobie Morgan Hitchcock
74c3b6d708
Don’t automatically unwrap errors when sending on WebSocket
...
Closes #140
2022-09-13 21:50:04 +01:00
Tobie Morgan Hitchcock
498b0a4530
Fix linting errors
2022-09-10 06:11:56 +01:00
Tobie Morgan Hitchcock
eba00bbca3
Add debug logging for authentication attempts
2022-09-10 05:44:45 +01:00
Tobie Morgan Hitchcock
d20851325b
Allow uppercase or lowercase keys in JWT authentication tokens
2022-09-10 05:43:50 +01:00
Tobie Morgan Hitchcock
6f0ff853f8
Ensure session data is stored on the session after signup/signin
2022-09-05 00:53:35 +01:00
Tobie Morgan Hitchcock
5ca3b74e59
Add HTTP /health endpoint for checking database and datastore status
...
Closes #56
2022-09-01 00:28:43 +01:00
Michael Delaney
960061584d
Add support for specifying database path using env variable DB_PATH ( #78 )
2022-08-31 14:03:11 +01:00
Tobie Morgan Hitchcock
cdf244f0f5
Simplify command line argument verification code
2022-08-29 13:02:20 +01:00
Tobie Morgan Hitchcock
65d91b122e
Add support for simpler datastore paths
2022-08-29 12:30:00 +01:00
Tobie Morgan Hitchcock
69c166fd8e
Only send NS and DB header in SQL REPL requests if specified
2022-08-26 23:16:13 +01:00
clawcastle
2bfcb9d694
Make --ns and --db arguments optional in command-line REPL ( #63 )
...
Closes #34
2022-08-26 21:51:44 +01:00
Tobie Morgan Hitchcock
e5a78bed06
Allow root authentication over WebSocket connection
2022-08-23 23:44:13 +01:00
Kian-Meng Ang
40157f6170
Fix typos ( #42 )
...
Found via `codespell -L crate,inout,ser,fetchs,te,tre,whats`.
2022-08-21 13:13:38 +01:00
Tobie Morgan Hitchcock
b8c793f7a4
Only log successful startup after server binds to desired port
2022-08-17 22:45:31 +01:00
Yusuke Kuoka
1d3880d652
Initial implementation of SurrealDB KVS for FoundationDB ( #37 )
...
Referenced in discussion #25
Closes #38
2022-08-15 19:35:41 +01:00
Tobie Morgan Hitchcock
70a6c5a1ee
Enable server configuration to be setup with environment variables
2022-08-12 21:21:32 +01:00
Tobie Morgan Hitchcock
653ced7d58
When enabled, log the root authentication username
2022-08-12 16:33:15 +01:00
Tobie Morgan Hitchcock
9ed50a9514
Add command-line SurrealQL REPL
2022-08-06 13:13:14 +01:00
Tobie Morgan Hitchcock
0043e38bef
Add —host command-line option as an alias of —conn
2022-08-06 11:34:17 +01:00
Tobie Morgan Hitchcock
f535501ec2
Improve CLI command descriptions
2022-07-30 22:56:54 +01:00
Tobie Morgan Hitchcock
58698f58fe
Update default endpoint for import/export requests
2022-07-29 10:39:49 +01:00
Tobie Morgan Hitchcock
fc68e59644
Simplify import / export response streaming
2022-07-29 10:37:12 +01:00
Tobie Morgan Hitchcock
d67e231431
Ensure NS+DB values are required on export
CLI command
2022-07-29 10:36:54 +01:00
Tobie Morgan Hitchcock
c0d851751b
Ensure NS+DB values are required on import
CLI command
2022-07-29 10:36:49 +01:00
Tobie Morgan Hitchcock
f46acec96f
Ensure error is returned when NS/DB header are not present
2022-07-29 10:35:15 +01:00
Tobie Morgan Hitchcock
2646ea119e
Temporarily disable HTTP response compression
...
Disable response compression until `Accept-Encoding` headers are properly evaluated, and the compression can be chosen based on the HTTP request. This relies on https://github.com/seanmonstar/warp/pull/513 being implemented.
2022-07-29 10:33:49 +01:00
Tobie Morgan Hitchcock
d619633340
Enable new database strict mode configuration
2022-07-27 18:20:04 +01:00
Tobie Morgan Hitchcock
7777e3bccd
Log a message on startup with root authentication info
...
Closes #11
2022-07-24 01:15:26 +01:00
Tobie Morgan Hitchcock
960a5a768b
Disable root authentication when no password is set
...
Closes #10
2022-07-24 01:15:26 +01:00
Tobie Morgan Hitchcock
db2208a33a
Store all macros in a separate module
2022-07-24 01:15:26 +01:00
Tobie Morgan Hitchcock
428fcf697a
Ensure CORS headers are set on failed HTTP responses
...
Closes #6
2022-07-24 01:15:26 +01:00
Tobie Morgan Hitchcock
05cf6960c2
Set correct description for ‘—log’ command argument
2022-07-19 23:27:06 +01:00
Tobie Morgan Hitchcock
e1c6245151
Use new ‘—log’ command argument to specify server log level
2022-07-19 13:39:35 +01:00
Tobie Morgan Hitchcock
91b8baff3d
Set default logging level for import/export/backup commands
2022-07-19 12:58:19 +01:00
Tobie Morgan Hitchcock
7860a205db
Use configuration constants in version cli command
2022-07-19 12:54:50 +01:00
Tobie Morgan Hitchcock
a2619a8d72
Don’t show default random password in command-line help
2022-07-19 12:29:43 +01:00
Tobie Morgan Hitchcock
81bad3211d
Improve command-line logging
2022-07-19 09:28:24 +01:00
Tobie Morgan Hitchcock
4468e10bd1
Change the default port to 8000
2022-07-18 18:49:43 +01:00
Tobie Morgan Hitchcock
d425f67a8b
Allow NULL and missing values in RPC query method
2022-07-08 21:56:04 +01:00
Tobie Morgan Hitchcock
11a3911f70
Add RPC let’ command as a duplicate of ‘set’ command
2022-07-08 21:55:44 +01:00
Tobie Morgan Hitchcock
3c7bd098f3
Enable concurrent requests in WebSocket RPC Server
2022-07-07 11:25:22 +01:00
Tobie Morgan Hitchcock
4438415b55
Fix error in RPC Modify method query
2022-07-07 11:22:41 +01:00
Tobie Morgan Hitchcock
508538e0cc
Add initial WebSocket JSON RPC implementation
2022-07-04 02:32:26 +01:00
Tobie Morgan Hitchcock
410295c800
Improve map! macro to allow extending the map with other map
2022-07-04 02:02:03 +01:00
Tobie Morgan Hitchcock
983a7b3f5c
Add mrg! macro for merging Maps together
2022-07-04 02:02:03 +01:00
Tobie Morgan Hitchcock
7bb4aa74f3
Move authentication code to separate module
2022-07-04 01:46:09 +01:00
Tobie Morgan Hitchcock
187d9c08dc
Allow ‘application/octet-stream’ content-type when importing
2022-07-04 01:25:35 +01:00
Tobie Morgan Hitchcock
d04db02ee0
Add introductory message to command-line app
2022-06-28 11:54:04 +01:00
Tobie Morgan Hitchcock
eff4d2c5e9
Implement scope signup and signin functionality
2022-06-20 12:29:06 +01:00
Tobie Morgan Hitchcock
b4e2082196
Use BTreeMap for database execution variables
2022-06-20 02:13:28 +01:00
Tobie Morgan Hitchcock
52e8954ae4
Ensure library works in multi-threaded and single-threaded environments
2022-05-16 00:04:11 +01:00
Tobie Morgan Hitchcock
f414198fad
Only begin a transaction if needed for authentication
2022-05-13 22:07:56 +01:00
Tobie Morgan Hitchcock
7bd5802e99
Remove tokio as a dependency
...
Closes SUR-102
2022-05-13 21:57:40 +01:00
Tobie Morgan Hitchcock
e4619be89a
Implement WebSocket queries for /sql endpoint
2022-05-11 22:34:28 +01:00
Tobie Morgan Hitchcock
d29961ee19
Ensure Errors can be converted into Strings
2022-05-11 21:43:11 +01:00
Tobie Morgan Hitchcock
f5687abeab
Add documentation comments to main binary package
2022-05-11 15:23:15 +01:00
Tobie Morgan Hitchcock
17e8ea55b5
Implement SQL database exporting and importing
2022-05-11 15:23:15 +01:00
Tobie Morgan Hitchcock
3498e57e04
Implement web authentication session validation
2022-05-11 15:23:15 +01:00
Tobie Morgan Hitchcock
d761a6df47
Add TLS support to SurrealDB server
2022-05-11 15:23:08 +01:00
Tobie Morgan Hitchcock
ba7c31e2dc
Improve server configuration parsing and option storage
2022-05-11 15:23:08 +01:00
Tobie Morgan Hitchcock
69b18cc659
Change content length limits of http routes
2022-05-11 15:23:08 +01:00
Tobie Morgan Hitchcock
f7b82bc7bd
When unset, ensure default root password in randomised
2022-05-07 16:11:19 +01:00
Tobie Morgan Hitchcock
0ff3d0f7d0
Remove auth CLI argument and use user + pass instead
2022-05-07 15:13:58 +01:00
Tobie Morgan Hitchcock
ffc3ed82f7
Simplify external API when working with Datastore
2022-05-04 00:07:46 +01:00
Tobie Morgan Hitchcock
7e2eae32c5
Ensure query auth level checks are logically correct
2022-04-01 00:36:23 +01:00
Tobie Morgan Hitchcock
b3c4f982ec
Fix clippy lint errors
2022-03-25 20:31:45 +00:00
Tobie Morgan Hitchcock
7e4bf91a48
Forbid all usage of unsafe code
2022-03-23 15:12:29 +00:00
Tobie Morgan Hitchcock
2a0d46a2b6
Remove unused macros
2022-03-07 18:14:42 +00:00