Initial commit: New MoreminiMore website with fresh design
This commit is contained in:
79
node_modules/@libsql/hrana-client/lib-cjs/libsql_url.js
generated
vendored
Normal file
79
node_modules/@libsql/hrana-client/lib-cjs/libsql_url.js
generated
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.parseLibsqlUrl = void 0;
|
||||
const errors_js_1 = require("./errors.js");
|
||||
;
|
||||
/** Parses a URL compatible with the libsql client (`@libsql/client`). This URL may have the "libsql:" scheme
|
||||
* and may contain query parameters. */
|
||||
function parseLibsqlUrl(urlStr) {
|
||||
const url = new URL(urlStr);
|
||||
let authToken = undefined;
|
||||
let tls = undefined;
|
||||
for (const [key, value] of url.searchParams.entries()) {
|
||||
if (key === "authToken") {
|
||||
authToken = value;
|
||||
}
|
||||
else if (key === "tls") {
|
||||
if (value === "0") {
|
||||
tls = false;
|
||||
}
|
||||
else if (value === "1") {
|
||||
tls = true;
|
||||
}
|
||||
else {
|
||||
throw new errors_js_1.LibsqlUrlParseError(`Unknown value for the "tls" query argument: ${JSON.stringify(value)}`);
|
||||
}
|
||||
}
|
||||
else {
|
||||
throw new errors_js_1.LibsqlUrlParseError(`Unknown URL query argument ${JSON.stringify(key)}`);
|
||||
}
|
||||
}
|
||||
let hranaWsScheme;
|
||||
let hranaHttpScheme;
|
||||
if ((url.protocol === "http:" || url.protocol === "ws:") && (tls === true)) {
|
||||
throw new errors_js_1.LibsqlUrlParseError(`A ${JSON.stringify(url.protocol)} URL cannot opt into TLS using ?tls=1`);
|
||||
}
|
||||
else if ((url.protocol === "https:" || url.protocol === "wss:") && (tls === false)) {
|
||||
throw new errors_js_1.LibsqlUrlParseError(`A ${JSON.stringify(url.protocol)} URL cannot opt out of TLS using ?tls=0`);
|
||||
}
|
||||
if (url.protocol === "http:" || url.protocol === "https:") {
|
||||
hranaHttpScheme = url.protocol;
|
||||
}
|
||||
else if (url.protocol === "ws:" || url.protocol === "wss:") {
|
||||
hranaWsScheme = url.protocol;
|
||||
}
|
||||
else if (url.protocol === "libsql:") {
|
||||
if (tls === false) {
|
||||
if (!url.port) {
|
||||
throw new errors_js_1.LibsqlUrlParseError(`A "libsql:" URL with ?tls=0 must specify an explicit port`);
|
||||
}
|
||||
hranaHttpScheme = "http:";
|
||||
hranaWsScheme = "ws:";
|
||||
}
|
||||
else {
|
||||
hranaHttpScheme = "https:";
|
||||
hranaWsScheme = "wss:";
|
||||
}
|
||||
}
|
||||
else {
|
||||
throw new errors_js_1.LibsqlUrlParseError(`This client does not support ${JSON.stringify(url.protocol)} URLs. ` +
|
||||
'Please use a "libsql:", "ws:", "wss:", "http:" or "https:" URL instead.');
|
||||
}
|
||||
if (url.username || url.password) {
|
||||
throw new errors_js_1.LibsqlUrlParseError("This client does not support HTTP Basic authentication with a username and password. " +
|
||||
'You can authenticate using a token passed in the "authToken" URL query parameter.');
|
||||
}
|
||||
if (url.hash) {
|
||||
throw new errors_js_1.LibsqlUrlParseError("URL fragments are not supported");
|
||||
}
|
||||
let hranaPath = url.pathname;
|
||||
if (hranaPath === "/") {
|
||||
hranaPath = "";
|
||||
}
|
||||
const hranaWsUrl = hranaWsScheme !== undefined
|
||||
? `${hranaWsScheme}//${url.host}${hranaPath}` : undefined;
|
||||
const hranaHttpUrl = hranaHttpScheme !== undefined
|
||||
? `${hranaHttpScheme}//${url.host}${hranaPath}` : undefined;
|
||||
return { hranaWsUrl, hranaHttpUrl, authToken };
|
||||
}
|
||||
exports.parseLibsqlUrl = parseLibsqlUrl;
|
||||
Reference in New Issue
Block a user