Skip to content

Commit e802b27

Browse files
MA-22157: fix header parser and pinned stable yarn version
1 parent b6183c3 commit e802b27

11 files changed

+5069
-3016
lines changed

.yarn/install-state.gz

350 KB
Binary file not shown.

.yarn/releases/yarn-4.5.3.cjs

+934
Large diffs are not rendered by default.

.yarnrc.yml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
nodeLinker: node-modules
2+
3+
yarnPath: .yarn/releases/yarn-4.5.3.cjs

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## v0.2.6
2+
3+
- Исправлены проблемы с обработкой `cookies` в проксировании.
4+
15
## v0.2.5
26

37
- Исправили замечания `npm audit`:

package.json

+3-4
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22
"name": "@vkontakte/vk-tunnel",
33
"license": "MIT",
44
"version": "0.2.5",
5-
"bin": {
6-
"vk-tunnel": "./bin/vk-tunnel.js"
7-
},
5+
"bin": "./bin/vk-tunnel.js",
86
"scripts": {
97
"build": "tsc && esbuild src/vk-tunnel.ts --bundle --platform=node --target=node16.0 --outfile=bin/vk-tunnel.js",
108
"lint:eslint": "eslint ./src --ext=ts",
@@ -48,5 +46,6 @@
4846
"eslint-plugin-react-hooks": "^4.6.0",
4947
"prettier": "^2.7.1",
5048
"typescript": "5.1.6"
51-
}
49+
},
50+
"packageManager": "yarn@4.5.3"
5251
}

src/api/fetchTunnelData.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,11 @@ export async function fetchTunnelData({
3535
staging,
3636
endpoints,
3737
}: FetchTunnelDataRequest) {
38-
const params: Record<string, string | number | boolean> = { access_token, version, v };
38+
const params: Record<string, string | number | boolean> = {
39+
access_token,
40+
version,
41+
v,
42+
};
3943

4044
if (app_id) params['app_id'] = app_id;
4145
if (staging) params['staging'] = staging;

src/entities/TunnelClient.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export class TunnelClient {
5555
this.socket.send(data, callback);
5656
}
5757

58-
private transformPayload(payload: Buffer[] | ArrayBuffer) {
58+
private transformPayload(payload: Buffer[] | ArrayBuffer | Buffer) {
5959
return payload
6060
.toString()
6161
.replace(/Accept-Encoding:.*/, this.ACCEPT_ENCODING + ': ' + this.DISABLE_COMPRESS)

src/entities/WsProxy.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,12 @@ export class WsProxy {
5252
websocket.on('message', (data, isBinary) => {
5353
logger.debug('incoming ws message from service', seq, data, isBinary);
5454

55-
const dataBuf = Array.isArray(data) ? Buffer.concat(data) : Buffer.from(data);
55+
const dataBuf = Array.isArray(data)
56+
? Buffer.concat(data)
57+
: Buffer.isBuffer(data)
58+
? data
59+
: Buffer.from(new Uint8Array(data));
60+
5661
const seqBuf = Buffer.from(seq, 'utf8');
5762
const typeBuf = Buffer.from(MessageTypeToSend.WEBSOCKET, 'utf8');
5863
const stringMessage = `${seq}${MessageTypeToSend.WEBSOCKET}${data}`;

src/types.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export interface UserData {
5757

5858
export interface ProxiedNetworkPacket {
5959
seq: string;
60-
payload: ArrayBuffer | Buffer[] | string;
60+
payload: ArrayBuffer | Buffer[] | string | Buffer;
6161
endpoint: string;
6262
messageType: MessageTypeFromBack;
6363
isWebsocketUpgrade: boolean;

src/vk-tunnel.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ async function vkTunnel() {
1010
const vkProxyServerUrl = `${tunnelData.tunnelHost}/${tunnelData.url}`;
1111

1212
const socket = new WebsocketClient(vkProxyServerUrl, {
13-
headers: { UserID: String(tunnelData.userId), Token: tunnelData.tunnelToken },
13+
headers: {
14+
UserID: String(tunnelData.userId),
15+
Token: tunnelData.tunnelToken,
16+
},
1417
});
1518

1619
const tunnelClient = new TunnelClient(socket, tunnelData, userSettings);

yarn.lock

+4,108-3,007
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)