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
Tobie Morgan Hitchcock
d1c2daaee4
Apply cargo clippy lint recommendations
2022-03-05 14:42:58 +00:00
Tobie Morgan Hitchcock
d5c53b7791
Extract core surrealdb code into separate library
2022-02-22 14:16:50 +00:00
Tobie Morgan Hitchcock
12aea63928
Use trice instead of std::time for performance measurement
2022-02-19 23:30:43 +00:00
Tobie Morgan Hitchcock
222e417c79
Change method argument names
2022-02-19 23:09:23 +00:00
Tobie Morgan Hitchcock
8a08de951e
Ensure session auth data is passed to executor options
2022-02-18 19:09:00 +00:00
Tobie Morgan Hitchcock
691d6ac895
Move byte formatting macro to macro module
2022-02-17 08:05:25 +00:00
Tobie Morgan Hitchcock
10a76ec3a1
Inject datastore instance instead of globally instantiated instance
2022-02-17 08:04:08 +00:00
Tobie Morgan Hitchcock
b98986fa12
Remove unnecessary 'anyhow' crate
2022-02-16 23:45:23 +00:00
Tobie Morgan Hitchcock
a5c1d95a64
Add initial implementation for parallel execution
2022-02-15 03:40:01 +00:00
Tobie Morgan Hitchcock
36d114be55
Simplify module import statements
2022-02-15 03:34:57 +00:00
Tobie Morgan Hitchcock
f22352aee6
Switch to asynchronous owned mutex locks in underlying kv storage
2022-02-15 03:33:16 +00:00
Tobie Morgan Hitchcock
efa67bb043
Only pass transaction when processing queries
...
Instead of passing the executor instance, we only need to pass the current transaction which is to be used for processing and running any queries.
2022-02-15 01:05:39 +00:00
Tobie Morgan Hitchcock
acc466c360
Remove unnecessary imports
2022-02-15 00:15:53 +00:00