Socket
Socket
Sign inDemoInstall

@clickhouse/client

Package Overview
Dependencies
Maintainers
4
Versions
44
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@clickhouse/client - npm Package Compare versions

Comparing version 1.4.1 to 1.5.0

6

dist/connection/node_base_connection.d.ts

@@ -33,4 +33,5 @@ /// <reference types="node" />

abort_signal: AbortSignal;
decompress_response?: boolean;
compress_request?: boolean;
enable_response_compression?: boolean;
enable_request_compression?: boolean;
try_decompress_response_stream?: boolean;
parse_summary?: boolean;

@@ -43,3 +44,2 @@ }

protected readonly defaultHeaders: Http.OutgoingHttpHeaders;
protected readonly additionalHTTPHeaders: Record<string, string>;
private readonly logger;

@@ -46,0 +46,0 @@ private readonly knownSockets;

@@ -8,3 +8,2 @@ "use strict";

const client_common_1 = require("@clickhouse/client-common");
const client_common_2 = require("@clickhouse/client-common");
const crypto_1 = __importDefault(require("crypto"));

@@ -42,8 +41,2 @@ const stream_1 = __importDefault(require("stream"));

});
Object.defineProperty(this, "additionalHTTPHeaders", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "logger", {

@@ -67,6 +60,5 @@ enumerable: true,

});
this.additionalHTTPHeaders = params.http_headers ?? {};
this.defaultAuthHeader = `Basic ${Buffer.from(`${params.username}:${params.password}`).toString('base64')}`;
this.defaultHeaders = {
...this.additionalHTTPHeaders,
...(params.http_headers ?? {}),
// KeepAlive agent for some reason does not set this on its own

@@ -84,3 +76,3 @@ Connection: this.params.keep_alive.enabled ? 'keep-alive' : 'close',

method: 'GET',
url: (0, client_common_2.transformUrl)({ url: this.params.url, pathname: '/ping' }),
url: (0, client_common_1.transformUrl)({ url: this.params.url, pathname: '/ping' }),
abort_signal: abortController.signal,

@@ -109,19 +101,20 @@ headers: this.buildRequestHeaders(),

const query_id = this.getQueryId(params.query_id);
const clickhouse_settings = (0, client_common_2.withHttpSettings)(params.clickhouse_settings, this.params.compression.decompress_response);
const searchParams = (0, client_common_2.toSearchParams)({
const clickhouse_settings = (0, client_common_1.withHttpSettings)(params.clickhouse_settings, this.params.compression.decompress_response);
const searchParams = (0, client_common_1.toSearchParams)({
database: this.params.database,
clickhouse_settings,
query_params: params.query_params,
session_id: params.session_id,
clickhouse_settings,
query_id,
});
const decompressResponse = clickhouse_settings.enable_http_compression === 1;
const { controller, controllerCleanup } = this.getAbortController(params);
// allows to enforce the compression via the settings even if the client instance has it disabled
const enableResponseCompression = clickhouse_settings.enable_http_compression === 1;
try {
const { stream, response_headers } = await this.request({
method: 'POST',
url: (0, client_common_2.transformUrl)({ url: this.params.url, searchParams }),
url: (0, client_common_1.transformUrl)({ url: this.params.url, searchParams }),
body: params.query,
abort_signal: controller.signal,
decompress_response: decompressResponse,
enable_response_compression: enableResponseCompression,
headers: this.buildRequestHeaders(params),

@@ -144,3 +137,3 @@ }, 'Query');

extra_args: {
decompress_response: decompressResponse,
decompress_response: enableResponseCompression,
clickhouse_settings,

@@ -157,3 +150,3 @@ },

const query_id = this.getQueryId(params.query_id);
const searchParams = (0, client_common_2.toSearchParams)({
const searchParams = (0, client_common_1.toSearchParams)({
database: this.params.database,

@@ -170,6 +163,6 @@ clickhouse_settings: params.clickhouse_settings,

method: 'POST',
url: (0, client_common_2.transformUrl)({ url: this.params.url, searchParams }),
url: (0, client_common_1.transformUrl)({ url: this.params.url, searchParams }),
body: params.values,
abort_signal: controller.signal,
compress_request: this.params.compression.compress_request,
enable_request_compression: this.params.compression.compress_request,
parse_summary: true,

@@ -306,19 +299,30 @@ headers: this.buildRequestHeaders(params),

const sendQueryInParams = params.values !== undefined;
const clickhouse_settings = (0, client_common_1.withHttpSettings)(params.clickhouse_settings, this.params.compression.decompress_response);
const toSearchParamsOptions = {
query: sendQueryInParams ? params.query : undefined,
database: this.params.database,
clickhouse_settings: params.clickhouse_settings,
query_params: params.query_params,
session_id: params.session_id,
clickhouse_settings,
query_id,
};
const searchParams = (0, client_common_2.toSearchParams)(toSearchParamsOptions);
const searchParams = (0, client_common_1.toSearchParams)(toSearchParamsOptions);
const { controller, controllerCleanup } = this.getAbortController(params);
const tryDecompressResponseStream = params.op === 'Exec'
? // allows to disable stream decompression for the `Exec` operation only
params.decompress_response_stream ??
this.params.compression.decompress_response
: // there is nothing useful in the response stream for the `Command` operation,
// and it is immediately destroyed; never decompress it
false;
try {
const { stream, summary, response_headers } = await this.request({
method: 'POST',
url: (0, client_common_2.transformUrl)({ url: this.params.url, searchParams }),
url: (0, client_common_1.transformUrl)({ url: this.params.url, searchParams }),
body: sendQueryInParams ? params.values : params.query,
abort_signal: controller.signal,
parse_summary: true,
enable_request_compression: this.params.compression.compress_request,
enable_response_compression: this.params.compression.decompress_response,
try_decompress_response_stream: tryDecompressResponseStream,
headers: this.buildRequestHeaders(params),

@@ -364,9 +368,22 @@ }, params.op);

this.logResponse(op, request, params, _response, start);
const decompressionResult = (0, compression_1.decompressResponse)(_response);
if ((0, compression_1.isDecompressionError)(decompressionResult)) {
return reject(decompressionResult.error);
let responseStream;
const tryDecompressResponseStream = params.try_decompress_response_stream ?? true;
// even if the stream decompression is disabled, we have to decompress it in case of an error
const isFailedResponse = !(0, client_common_1.isSuccessfulResponse)(_response.statusCode);
if (tryDecompressResponseStream || isFailedResponse) {
const decompressionResult = (0, compression_1.decompressResponse)(_response);
if ((0, compression_1.isDecompressionError)(decompressionResult)) {
return reject(decompressionResult.error);
}
responseStream = decompressionResult.response;
}
if ((0, client_common_2.isSuccessfulResponse)(_response.statusCode)) {
else {
responseStream = _response;
}
if (isFailedResponse) {
reject((0, client_common_1.parseError)(await (0, utils_1.getAsText)(responseStream)));
}
else {
return resolve({
stream: decompressionResult.response,
stream: responseStream,
summary: params.parse_summary

@@ -378,5 +395,2 @@ ? this.parseSummary(op, _response)

}
else {
reject((0, client_common_2.parseError)(await (0, utils_1.getAsText)(decompressionResult.response)));
}
};

@@ -415,3 +429,3 @@ function onAbort() {

};
if (params.compress_request) {
if (params.enable_request_compression) {
stream_1.default.pipeline(bodyStream, zlib_1.default.createGzip(), request, callback);

@@ -418,0 +432,0 @@ }

@@ -20,4 +20,4 @@ "use strict";

headers: params.headers,
compress_request: params.compress_request,
decompress_response: params.decompress_response,
enable_request_compression: params.enable_request_compression,
enable_response_compression: params.enable_response_compression,
});

@@ -24,0 +24,0 @@ return http_1.default.request(params.url, {

@@ -21,4 +21,4 @@ "use strict";

headers: params.headers,
compress_request: params.compress_request,
decompress_response: params.decompress_response,
enable_request_compression: params.enable_request_compression,
enable_response_compression: params.enable_response_compression,
});

@@ -25,0 +25,0 @@ return http_1.default.request(params.url, {

@@ -46,4 +46,4 @@ "use strict";

headers: params.headers,
compress_request: params.compress_request,
decompress_response: params.decompress_response,
enable_request_compression: params.enable_request_compression,
enable_response_compression: params.enable_response_compression,
});

@@ -50,0 +50,0 @@ return https_1.default.request(params.url, {

@@ -1,2 +0,2 @@

declare const _default: "1.4.1";
declare const _default: "1.5.0";
export default _default;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = '1.4.1';
exports.default = '1.5.0';
//# sourceMappingURL=version.js.map

@@ -5,3 +5,3 @@ {

"homepage": "https://clickhouse.com",
"version": "1.4.1",
"version": "1.5.0",
"license": "Apache-2.0",

@@ -27,4 +27,4 @@ "keywords": [

"dependencies": {
"@clickhouse/client-common": "1.4.1"
"@clickhouse/client-common": "1.5.0"
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc