diff options
author | Luca Casonato <hello@lcas.dev> | 2023-10-31 12:13:57 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-31 11:13:57 +0000 |
commit | 2d9298f5f5550c21ba218ff7095aa9afe80c7e02 (patch) | |
tree | 6daee1cc6007745097e176c7367b697e58632baf /runtime | |
parent | 092555c611ebab87ad570b4dcb73d54288dccdd9 (diff) |
chore: update ext/kv to use denokv_* crates (#20986)
This commit updates the ext/kv module to use the denokv_* crates for
the protocol and the sqlite backend. This also fixes a couple of bugs in
the sqlite backend, and updates versionstamps to be updated less
linearly.
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/build.rs | 2 | ||||
-rw-r--r-- | runtime/errors.rs | 4 | ||||
-rw-r--r-- | runtime/web_worker.rs | 14 | ||||
-rw-r--r-- | runtime/worker.rs | 10 |
4 files changed, 28 insertions, 2 deletions
diff --git a/runtime/build.rs b/runtime/build.rs index dec687b6e..ce1896e6f 100644 --- a/runtime/build.rs +++ b/runtime/build.rs @@ -222,7 +222,7 @@ mod startup_snapshot { deno_tls::deno_tls::init_ops_and_esm(), deno_kv::deno_kv::init_ops_and_esm(deno_kv::sqlite::SqliteDbHandler::< Permissions, - >::new(None)), + >::new(None, None)), deno_napi::deno_napi::init_ops_and_esm::<Permissions>(), deno_http::deno_http::init_ops_and_esm::<DefaultHttpPropertyExtractor>(), deno_io::deno_io::init_ops_and_esm(Default::default()), diff --git a/runtime/errors.rs b/runtime/errors.rs index e6ae14abb..47925fe5c 100644 --- a/runtime/errors.rs +++ b/runtime/errors.rs @@ -212,6 +212,10 @@ pub fn get_error_class_name(e: &AnyError) -> Option<&'static str> { .map(get_url_parse_error_class) }) .or_else(|| { + e.downcast_ref::<deno_kv::sqlite::TypeError>() + .map(|_| "TypeError") + }) + .or_else(|| { #[cfg(unix)] let maybe_get_nix_error_class = || e.downcast_ref::<nix::Error>().map(get_nix_error_class); diff --git a/runtime/web_worker.rs b/runtime/web_worker.rs index c1fe5a619..de69ce43b 100644 --- a/runtime/web_worker.rs +++ b/runtime/web_worker.rs @@ -436,7 +436,19 @@ impl WebWorker { ), deno_tls::deno_tls::init_ops_and_esm(), deno_kv::deno_kv::init_ops_and_esm( - MultiBackendDbHandler::remote_or_sqlite::<PermissionsContainer>(None), + MultiBackendDbHandler::remote_or_sqlite::<PermissionsContainer>( + None, + options.seed, + deno_kv::remote::HttpOptions { + user_agent: options.bootstrap.user_agent.clone(), + root_cert_store_provider: options.root_cert_store_provider.clone(), + unsafely_ignore_certificate_errors: options + .unsafely_ignore_certificate_errors + .clone(), + client_cert_chain_and_key: None, + proxy: None, + }, + ), ), deno_napi::deno_napi::init_ops_and_esm::<PermissionsContainer>(), deno_http::deno_http::init_ops_and_esm::<DefaultHttpPropertyExtractor>(), diff --git a/runtime/worker.rs b/runtime/worker.rs index e8d9ca6bc..f0fc25aa2 100644 --- a/runtime/worker.rs +++ b/runtime/worker.rs @@ -261,6 +261,16 @@ impl MainWorker { deno_kv::deno_kv::init_ops_and_esm( MultiBackendDbHandler::remote_or_sqlite::<PermissionsContainer>( options.origin_storage_dir.clone(), + options.seed, + deno_kv::remote::HttpOptions { + user_agent: options.bootstrap.user_agent.clone(), + root_cert_store_provider: options.root_cert_store_provider.clone(), + unsafely_ignore_certificate_errors: options + .unsafely_ignore_certificate_errors + .clone(), + client_cert_chain_and_key: None, + proxy: None, + }, ), ), deno_napi::deno_napi::init_ops_and_esm::<PermissionsContainer>(), |