New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

wsgrpc

Package Overview
Dependencies
Maintainers
1
Versions
124
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

wsgrpc - npm Package Compare versions

Comparing version 1.7.0 to 1.7.1

11

lib/generated/wsgrpc.js
/*eslint-disable block-scoped-var, no-redeclare, no-control-regex, no-prototype-builtins*/
"use strict";
/// == when build for npm
//var $protobuf = require("protobufjs/minimal");
/// == when build for web
//var $protobuf = typeof window != "undefined" && window.protobuf;
/// == both?
var $protobuf =
(typeof window != "undefined" && window.protobuf) ||
_require("protobufjs/minimal");
(typeof global != "undefined" && global.protobuf);
function _require(m) {
return require(m);
}
//in react project add this to main.js file:

@@ -18,0 +9,0 @@ //require("protobufjs/src/util/minimal").Long = null;

12

lib/http/Client.js

@@ -72,3 +72,7 @@ "use strict";

case 0:
data = meta.requestType.encode(request);
data = meta.requestType.encode(request).finish();
if (typeof window != "undefined" && window.wx) {
// weixin mini game
data = data.buffer.slice(data.byteOffset, data.byteOffset + data.length);
}
url = "" + this._prefix + meta.path;

@@ -89,3 +93,4 @@ return [4 /*yield*/, fetch(url, {

data2 = _a.sent();
response = meta.responseType.decode(data2);
response = meta.responseType.decode(new Uint8Array(data2));
// console.log("response", response);
return [2 /*return*/, response];

@@ -111,5 +116,4 @@ }

e_1 = _a.sent();
//log
this._listerner && this._listerner.onError(e_1);
return [3 /*break*/, 3];
throw e_1;
case 3: return [2 /*return*/];

@@ -116,0 +120,0 @@ }

/// <reference types="node" />
import { ServiceDescriptor, ServiceMeta, ServiceFactory, IProtocolListener } from "../types";
import { ServiceDescriptor, ServiceMeta, ServiceFactory } from "../types";
import http = require("http");
interface ICallListener {
onCallSuccess(path: string, res: any): void;
onCallError(path: string, err: any): void;
}
export declare class HttpServer {
private listener?;
private descriptors;
constructor(listener?: IProtocolListener);
constructor(listener?: ICallListener);
addService<T>(name: string, meta: ServiceMeta, factory: ServiceFactory<T>): void;

@@ -12,3 +16,4 @@ expressHandler: (req: any, res: any) => void;

httpHandler: (req: http.ServerRequest, res: http.ServerResponse) => Promise<void>;
_handle(req: http.ServerRequest, sdescriptor: ServiceDescriptor<any>, serviceName: string, methodName: string): Promise<any>;
_handle(req: http.ServerRequest, sdescriptor: ServiceDescriptor<any>, serviceName: string, methodName: string): Promise<Buffer>;
}
export {};

@@ -39,3 +39,3 @@ "use strict";

function _corsOptions(req, res) {
var requestOrigin = req.headers["Origin"];
var requestOrigin = req.headers["origin"];
if (!requestOrigin) {

@@ -46,3 +46,3 @@ res.writeHead(400);

}
if (!req.headers["Access-Control-Request-Method"]) {
if (!req.headers["access-control-request-method"]) {
res.writeHead(400);

@@ -52,3 +52,3 @@ res.end("no header: Access-Control-Request-Method");

}
var allowHeaders = req.headers["Access-Control-Request-Headers"];
var allowHeaders = req.headers["access-control-request-headers"];
if (!allowHeaders) {

@@ -63,6 +63,7 @@ allowHeaders = ["Authentication"];

});
res.end();
}
function _readBody(req) {
return new Promise(function (resolve, reject) {
var buffer;
var buffer = new Buffer(0);
req.on("data", function (chunk) {

@@ -101,3 +102,3 @@ if (!buffer) {

this.httpHandler = function (req, res) { return __awaiter(_this, void 0, void 0, function () {
var sm, serviceName, methodName, sdescriptor, resData, e_1;
var sm, methodName, serviceName, sdescriptor, resData, e_1;
return __generator(this, function (_a) {

@@ -120,2 +121,3 @@ switch (_a.label) {

}
console.log("grpc req.url: ", req.url);
sm = req.url.split("/").filter(function (p) { return p.length > 0; });

@@ -127,3 +129,4 @@ if (sm.length < 2) {

}
serviceName = sm[0], methodName = sm[1];
methodName = sm.pop();
serviceName = sm.pop();
if (!this.descriptors.has(serviceName)) {

@@ -135,2 +138,3 @@ res.writeHead(404);

sdescriptor = this.descriptors.get(serviceName);
console.log("will handle grpc:", serviceName, methodName);
_a.label = 1;

@@ -142,3 +146,7 @@ case 1:

resData = _a.sent();
res.writeHead(200, { "Content-Type": "application/grpc+proto" });
res.writeHead(200, {
"Content-Type": "application/grpc+proto",
"Access-Control-Allow-Origin": req.headers["origin"],
"Access-Control-Allow-Credentials": "true"
});
res.end(resData);

@@ -148,6 +156,7 @@ return [3 /*break*/, 4];

e_1 = _a.sent();
//TODO: log error
this.listener &&
this.listener.onCallError(serviceName + "/" + methodName, e_1);
res.writeHead(500);
res.end("grpc error: " + serviceName + "/" + methodName + "\n" + e_1.messsage);
return [2 /*return*/];
res.end("grpc error: " + serviceName + "/" + methodName + ": " + e_1.messsage);
return [3 /*break*/, 4];
case 4: return [2 /*return*/];

@@ -191,4 +200,5 @@ }

grpcRes = _a.sent();
resData = mdescriptor.responseType.encode(grpcRes);
//TODO: log response
resData = mdescriptor.responseType.encode(grpcRes).finish();
this.listener &&
this.listener.onCallSuccess(serviceName + "/" + methodName, grpcRes);
return [2 /*return*/, resData];

@@ -195,0 +205,0 @@ }

@@ -7,2 +7,4 @@ "use strict";

global.fetch = require("node-fetch");
// @ts-ignore
global.protobuf = require("protobufjs/minimal");
var ChannelNode_1 = require("./ChannelNode");

@@ -9,0 +11,0 @@ exports.Channel = ChannelNode_1.Channel;

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

global.fetch = require("node-fetch");
// @ts-ignore
global.protobuf = require("protobufjs/minimal");
}

@@ -10,0 +12,0 @@ var ChannelWeb_1 = require("./ChannelWeb");

{
"name": "wsgrpc",
"version": "1.7.0",
"version": "1.7.1",
"description": "Using WebSocket as gRPC transport",

@@ -5,0 +5,0 @@ "author": "tsangpo",

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