starpc 0.27.3 → 0.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Makefile +18 -8
- package/e2e/mock/mock.pb.go +2 -2
- package/echo/echo.pb.go +2 -2
- package/go.mod +10 -8
- package/go.sum +20 -12
- package/integration/integration.go +8 -2
- package/package.json +7 -5
- package/srpc/rpcproto.pb.go +2 -2
package/Makefile
CHANGED
|
@@ -6,13 +6,14 @@ PROTOC_GEN_GO=hack/bin/protoc-gen-go
|
|
|
6
6
|
PROTOC_GEN_STARPC=hack/bin/protoc-gen-go-starpc
|
|
7
7
|
PROTOC_GEN_VTPROTO=hack/bin/protoc-gen-go-vtproto
|
|
8
8
|
GOIMPORTS=hack/bin/goimports
|
|
9
|
+
GOFUMPT=hack/bin/gofumpt
|
|
9
10
|
GOLANGCI_LINT=hack/bin/golangci-lint
|
|
10
11
|
GO_MOD_OUTDATED=hack/bin/go-mod-outdated
|
|
11
12
|
GOLIST=go list -f "{{ .Dir }}" -m
|
|
12
13
|
|
|
13
14
|
export GO111MODULE=on
|
|
14
|
-
undefine GOARCH
|
|
15
15
|
undefine GOOS
|
|
16
|
+
undefine GOARCH
|
|
16
17
|
|
|
17
18
|
all:
|
|
18
19
|
|
|
@@ -43,6 +44,12 @@ $(GOIMPORTS):
|
|
|
43
44
|
-o ./bin/goimports \
|
|
44
45
|
golang.org/x/tools/cmd/goimports
|
|
45
46
|
|
|
47
|
+
$(GOFUMPT):
|
|
48
|
+
cd ./hack; \
|
|
49
|
+
go build -v \
|
|
50
|
+
-o ./bin/gofumpt \
|
|
51
|
+
mvdan.cc/gofumpt
|
|
52
|
+
|
|
46
53
|
$(PROTOWRAP):
|
|
47
54
|
cd ./hack; \
|
|
48
55
|
go build -v \
|
|
@@ -63,7 +70,6 @@ $(GO_MOD_OUTDATED):
|
|
|
63
70
|
|
|
64
71
|
.PHONY: gengo
|
|
65
72
|
gengo: $(GOIMPORTS) $(PROTOWRAP) $(PROTOC_GEN_GO) $(PROTOC_GEN_VTPROTO) $(PROTOC_GEN_STARPC)
|
|
66
|
-
go mod vendor
|
|
67
73
|
shopt -s globstar; \
|
|
68
74
|
set -eo pipefail; \
|
|
69
75
|
export PROJECT=$$(go list -m); \
|
|
@@ -93,7 +99,6 @@ node_modules:
|
|
|
93
99
|
|
|
94
100
|
.PHONY: gents
|
|
95
101
|
gents: $(PROTOWRAP) node_modules
|
|
96
|
-
go mod vendor
|
|
97
102
|
shopt -s globstar; \
|
|
98
103
|
set -eo pipefail; \
|
|
99
104
|
export PROJECT=$$(go list -m); \
|
|
@@ -121,9 +126,9 @@ gents: $(PROTOWRAP) node_modules
|
|
|
121
126
|
git \
|
|
122
127
|
ls-files "*.proto" |\
|
|
123
128
|
xargs printf -- \
|
|
124
|
-
"$$(pwd)/vendor/$${PROJECT}/%s ");
|
|
125
|
-
|
|
126
|
-
|
|
129
|
+
"$$(pwd)/vendor/$${PROJECT}/%s "); \
|
|
130
|
+
rm $$(pwd)/vendor/$${PROJECT} || true
|
|
131
|
+
npm run format:js
|
|
127
132
|
|
|
128
133
|
.PHONY: genproto
|
|
129
134
|
genproto: gengo gents
|
|
@@ -141,11 +146,16 @@ list: $(GO_MOD_OUTDATED)
|
|
|
141
146
|
|
|
142
147
|
.PHONY: lint
|
|
143
148
|
lint: $(GOLANGCI_LINT)
|
|
144
|
-
$(GOLANGCI_LINT) run
|
|
149
|
+
$(GOLANGCI_LINT) run --timeout=10m
|
|
145
150
|
|
|
146
151
|
.PHONY: fix
|
|
147
152
|
fix: $(GOLANGCI_LINT)
|
|
148
|
-
$(GOLANGCI_LINT) run --fix
|
|
153
|
+
$(GOLANGCI_LINT) run --fix --timeout=10m
|
|
154
|
+
|
|
155
|
+
.PHONY: format
|
|
156
|
+
format: $(GOFUMPT) $(GOIMPORTS)
|
|
157
|
+
$(GOIMPORTS) -w ./
|
|
158
|
+
$(GOFUMPT) -w ./
|
|
149
159
|
|
|
150
160
|
.PHONY: test
|
|
151
161
|
test:
|
package/e2e/mock/mock.pb.go
CHANGED
package/echo/echo.pb.go
CHANGED
package/go.mod
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
module github.com/aperturerobotics/starpc
|
|
2
2
|
|
|
3
|
-
go 1.
|
|
3
|
+
go 1.22
|
|
4
|
+
|
|
5
|
+
toolchain go1.22.1
|
|
4
6
|
|
|
5
7
|
require (
|
|
6
8
|
github.com/pkg/errors v0.9.1 // latest
|
|
7
9
|
google.golang.org/protobuf v1.33.0 // latest
|
|
8
|
-
nhooyr.io/websocket v1.8.
|
|
10
|
+
nhooyr.io/websocket v1.8.11 // latest
|
|
9
11
|
)
|
|
10
12
|
|
|
11
13
|
require (
|
|
12
|
-
github.com/aperturerobotics/util v1.
|
|
13
|
-
github.com/libp2p/go-libp2p v0.33.
|
|
14
|
-
github.com/libp2p/go-yamux/v4 v4.0.2-0.
|
|
14
|
+
github.com/aperturerobotics/util v1.16.5 // latest
|
|
15
|
+
github.com/libp2p/go-libp2p v0.33.2 // latest
|
|
16
|
+
github.com/libp2p/go-yamux/v4 v4.0.2-0.20240322071716-53ef5820bd48 // master
|
|
15
17
|
github.com/sirupsen/logrus v1.9.3 // latest
|
|
16
18
|
)
|
|
17
19
|
|
|
@@ -26,7 +28,7 @@ require (
|
|
|
26
28
|
github.com/mr-tron/base58 v1.2.0 // indirect
|
|
27
29
|
github.com/multiformats/go-base32 v0.1.0 // indirect
|
|
28
30
|
github.com/multiformats/go-base36 v0.2.0 // indirect
|
|
29
|
-
github.com/multiformats/go-multiaddr v0.12.
|
|
31
|
+
github.com/multiformats/go-multiaddr v0.12.3 // indirect
|
|
30
32
|
github.com/multiformats/go-multibase v0.2.0 // indirect
|
|
31
33
|
github.com/multiformats/go-multicodec v0.9.0 // indirect
|
|
32
34
|
github.com/multiformats/go-multihash v0.2.3 // indirect
|
|
@@ -34,7 +36,7 @@ require (
|
|
|
34
36
|
github.com/multiformats/go-varint v0.0.7 // indirect
|
|
35
37
|
github.com/spaolacci/murmur3 v1.1.0 // indirect
|
|
36
38
|
golang.org/x/crypto v0.19.0 // indirect
|
|
37
|
-
golang.org/x/exp v0.0.0-
|
|
38
|
-
golang.org/x/sys v0.
|
|
39
|
+
golang.org/x/exp v0.0.0-20240409090435-93d18d7e34b8 // indirect
|
|
40
|
+
golang.org/x/sys v0.18.0 // indirect
|
|
39
41
|
lukechampine.com/blake3 v1.2.1 // indirect
|
|
40
42
|
)
|
package/go.sum
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
github.com/aperturerobotics/util v1.
|
|
2
|
-
github.com/aperturerobotics/util v1.
|
|
1
|
+
github.com/aperturerobotics/util v1.16.0 h1:w0XOUw8pT+Dg/Q9eTXO9ZFALLIalV0AK7Ba8Nf8i1XU=
|
|
2
|
+
github.com/aperturerobotics/util v1.16.0/go.mod h1:aMfWWor4v05bs0dTekucKSjVkmnTxKE6UPs3rCe84YM=
|
|
3
|
+
github.com/aperturerobotics/util v1.16.1 h1:TnL+NutOkploExwEScqVk2FAOSI62JrHu02qWjdjYCE=
|
|
4
|
+
github.com/aperturerobotics/util v1.16.1/go.mod h1:aMfWWor4v05bs0dTekucKSjVkmnTxKE6UPs3rCe84YM=
|
|
5
|
+
github.com/aperturerobotics/util v1.16.5 h1:zW6l07O1cCZMG+cbE08D5gv6p/tYfGipGRO5WaXpd1c=
|
|
6
|
+
github.com/aperturerobotics/util v1.16.5/go.mod h1:UzxQN3nK8D+T7ruiBqvNiZOuEerkgsM1fN8eAvjsIMo=
|
|
3
7
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
4
8
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
|
5
9
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
@@ -15,12 +19,12 @@ github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuV
|
|
|
15
19
|
github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
|
|
16
20
|
github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8=
|
|
17
21
|
github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg=
|
|
18
|
-
github.com/libp2p/go-libp2p v0.33.
|
|
19
|
-
github.com/libp2p/go-libp2p v0.33.
|
|
22
|
+
github.com/libp2p/go-libp2p v0.33.2 h1:vCdwnFxoGOXMKmaGHlDSnL4bM3fQeW8pgIa9DECnb40=
|
|
23
|
+
github.com/libp2p/go-libp2p v0.33.2/go.mod h1:zTeppLuCvUIkT118pFVzA8xzP/p2dJYOMApCkFh0Yww=
|
|
20
24
|
github.com/libp2p/go-libp2p-testing v0.12.0 h1:EPvBb4kKMWO29qP4mZGyhVzUyR25dvfUIK5WDu6iPUA=
|
|
21
25
|
github.com/libp2p/go-libp2p-testing v0.12.0/go.mod h1:KcGDRXyN7sQCllucn1cOOS+Dmm7ujhfEyXQL5lvkcPg=
|
|
22
|
-
github.com/libp2p/go-yamux/v4 v4.0.2-0.
|
|
23
|
-
github.com/libp2p/go-yamux/v4 v4.0.2-0.
|
|
26
|
+
github.com/libp2p/go-yamux/v4 v4.0.2-0.20240322071716-53ef5820bd48 h1:KI65sCCL2h9IyCQwBhBXDgkKt3bmXoTu8T3rLVLZW4I=
|
|
27
|
+
github.com/libp2p/go-yamux/v4 v4.0.2-0.20240322071716-53ef5820bd48/go.mod h1:PGP+3py2ZWDKABvqstBZtMnixEHNC7U/odnGylzur5o=
|
|
24
28
|
github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM=
|
|
25
29
|
github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8=
|
|
26
30
|
github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o=
|
|
@@ -29,8 +33,8 @@ github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aG
|
|
|
29
33
|
github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI=
|
|
30
34
|
github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0=
|
|
31
35
|
github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4=
|
|
32
|
-
github.com/multiformats/go-multiaddr v0.12.
|
|
33
|
-
github.com/multiformats/go-multiaddr v0.12.
|
|
36
|
+
github.com/multiformats/go-multiaddr v0.12.3 h1:hVBXvPRcKG0w80VinQ23P5t7czWgg65BmIvQKjDydU8=
|
|
37
|
+
github.com/multiformats/go-multiaddr v0.12.3/go.mod h1:sBXrNzucqkFJhvKOiwwLyqamGa/P5EIXNPLovyhQCII=
|
|
34
38
|
github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g=
|
|
35
39
|
github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk=
|
|
36
40
|
github.com/multiformats/go-multicodec v0.9.0 h1:pb/dlPnzee/Sxv/j4PmkDRxCOi3hXTz3IbPKOXWJkmg=
|
|
@@ -57,12 +61,14 @@ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcU
|
|
|
57
61
|
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
|
58
62
|
golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo=
|
|
59
63
|
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
|
|
60
|
-
golang.org/x/exp v0.0.0-
|
|
61
|
-
golang.org/x/exp v0.0.0-
|
|
64
|
+
golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 h1:aAcj0Da7eBAtrTp03QXWvm88pSyOt+UgdZw2BFZ+lEw=
|
|
65
|
+
golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ=
|
|
66
|
+
golang.org/x/exp v0.0.0-20240409090435-93d18d7e34b8 h1:ESSUROHIBHg7USnszlcdmjBEwdMj9VUvU+OPk4yl2mc=
|
|
67
|
+
golang.org/x/exp v0.0.0-20240409090435-93d18d7e34b8/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI=
|
|
62
68
|
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
63
69
|
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
64
|
-
golang.org/x/sys v0.
|
|
65
|
-
golang.org/x/sys v0.
|
|
70
|
+
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
|
|
71
|
+
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
|
66
72
|
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
|
|
67
73
|
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
|
68
74
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
@@ -73,3 +79,5 @@ lukechampine.com/blake3 v1.2.1 h1:YuqqRuaqsGV71BV/nm9xlI0MKUv4QC54jQnBChWbGnI=
|
|
|
73
79
|
lukechampine.com/blake3 v1.2.1/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k=
|
|
74
80
|
nhooyr.io/websocket v1.8.10 h1:mv4p+MnGrLDcPlBoWsvPP7XCzTYMXP9F9eIGoKbgx7Q=
|
|
75
81
|
nhooyr.io/websocket v1.8.10/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c=
|
|
82
|
+
nhooyr.io/websocket v1.8.11 h1:f/qXNc2/3DpoSZkHt1DQu6rj4zGC8JmkkLkWss0MgN0=
|
|
83
|
+
nhooyr.io/websocket v1.8.11/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c=
|
|
@@ -3,6 +3,7 @@ package main
|
|
|
3
3
|
import (
|
|
4
4
|
"fmt"
|
|
5
5
|
"net/http"
|
|
6
|
+
"time"
|
|
6
7
|
|
|
7
8
|
"github.com/aperturerobotics/starpc/echo"
|
|
8
9
|
"github.com/aperturerobotics/starpc/srpc"
|
|
@@ -22,8 +23,13 @@ func main() {
|
|
|
22
23
|
logrus.Fatal(err.Error())
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
fmt.Print("listening on :5000\n")
|
|
26
|
-
|
|
26
|
+
fmt.Print("listening on localhost:5000\n")
|
|
27
|
+
hserver := &http.Server{
|
|
28
|
+
Addr: "localhost:5000",
|
|
29
|
+
Handler: server,
|
|
30
|
+
ReadHeaderTimeout: time.Second * 10,
|
|
31
|
+
}
|
|
32
|
+
if err := hserver.ListenAndServe(); err != nil {
|
|
27
33
|
logrus.Fatal(err.Error())
|
|
28
34
|
}
|
|
29
35
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "starpc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.28.1",
|
|
4
4
|
"description": "Streaming protobuf RPC service protocol over any two-way channel.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -40,7 +40,9 @@
|
|
|
40
40
|
"deps": "depcheck --ignores 'bufferutil,utf-8-validate,ts-proto,rimraf,@aperturerobotics/ts-common'",
|
|
41
41
|
"codegen": "npm run gen",
|
|
42
42
|
"ci": "npm run build && npm run lint:js && npm run lint:go",
|
|
43
|
-
"format": "
|
|
43
|
+
"format": "npm run format:go && npm run format:js",
|
|
44
|
+
"format:go": "make format",
|
|
45
|
+
"format:js": "prettier --write './{srpc,echo,e2e,integration,rpcstream}/**/(*.ts|*.tsx|*.html|*.css)'",
|
|
44
46
|
"gen": "make genproto",
|
|
45
47
|
"test": "npm run test:js && npm run test:go",
|
|
46
48
|
"test:go": "make test",
|
|
@@ -51,7 +53,7 @@
|
|
|
51
53
|
"integration": "npm run test:integration",
|
|
52
54
|
"lint": "npm run lint:go && npm run lint:js",
|
|
53
55
|
"lint:go": "make lint",
|
|
54
|
-
"lint:js": "eslint -c .eslintrc.js --
|
|
56
|
+
"lint:js": "ESLINT_USE_FLAT_CONFIG=false eslint -c .eslintrc.js --ignore-pattern *.js --ignore-pattern *.d.ts ./",
|
|
55
57
|
"patch": "patch-package --use-yarn --patch-dir ./node_modules/@aperturerobotics/ts-common/patches",
|
|
56
58
|
"prepare": "npm run patch && go mod vendor",
|
|
57
59
|
"precommit": "npm run format"
|
|
@@ -61,13 +63,13 @@
|
|
|
61
63
|
"singleQuote": true
|
|
62
64
|
},
|
|
63
65
|
"devDependencies": {
|
|
64
|
-
"@aperturerobotics/ts-common": "^0.
|
|
66
|
+
"@aperturerobotics/ts-common": "^0.9.0",
|
|
65
67
|
"bufferutil": "^4.0.7",
|
|
66
68
|
"depcheck": "^1.4.6",
|
|
67
69
|
"esbuild": "^0.20.0",
|
|
68
70
|
"prettier": "^3.2.4",
|
|
69
71
|
"rimraf": "^5.0.1",
|
|
70
|
-
"ts-poet": "6.
|
|
72
|
+
"ts-poet": "6.8.0",
|
|
71
73
|
"ts-proto": "^1.166.1",
|
|
72
74
|
"typescript": "^5.3.2",
|
|
73
75
|
"utf-8-validate": "^6.0.3"
|
package/srpc/rpcproto.pb.go
CHANGED