Joe Abbey
4a1df4911d
fix: "Lazy" Stringers to defer Sprintf and Hash until logs print ( #8845 )
2022-06-23 14:56:34 -04:00
dependabot[bot]
d0031b0503
build(deps): Bump github.com/go-kit/kit from 0.10.0 to 0.12.0 ( #7213 )
...
* build(deps): Bump github.com/go-kit/kit from 0.10.0 to 0.12.0
Bumps [github.com/go-kit/kit](https://github.com/go-kit/kit ) from 0.10.0 to 0.12.0.
- [Release notes](https://github.com/go-kit/kit/releases )
- [Commits](https://github.com/go-kit/kit/compare/v0.10.0...v0.12.0 )
---
updated-dependencies:
- dependency-name: github.com/go-kit/kit
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* add nolint
* fix lint
* fix build
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: tycho garen <garen@tychoish.com >
2021-11-08 14:39:00 -05:00
Sam Kleinman
4ef140f6ca
lint: cleanup pending lint errors ( #7237 )
2021-11-04 08:08:55 -04:00
mergify[bot]
b7a4d5e7ba
fix: jsonrpc url parsing and dial function ( #6264 ) ( #6288 )
...
This PR fixes how the jsonrpc parses the URL, and how the dial function connects to the RPC.
Closes: https://github.com/tendermint/tendermint/issues/6260
(cherry picked from commit 9ecfcc93a6 )
Co-authored-by: Frojdi Dymylja <33157909+fdymylja@users.noreply.github.com >
2021-03-29 11:05:03 +00:00
mergify[bot]
4e25703d58
rpc/jsonrpc/server: return an error in WriteRPCResponseHTTP(Error) (bp #6204 ) ( #6230 )
...
* rpc/jsonrpc/server: return an error in WriteRPCResponseHTTP(Error) (#6204 )
instead of panicking
Closes #5529
(cherry picked from commit 00b9524168 )
# Conflicts:
# CHANGELOG_PENDING.md
# rpc/jsonrpc/server/http_json_handler.go
# rpc/jsonrpc/server/http_server.go
# rpc/jsonrpc/server/http_server_test.go
# rpc/jsonrpc/server/http_uri_handler.go
* resolve conflicts
* fix linting
* fix conflict
Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com >
Co-authored-by: Marko Baricevic <marbar3778@yahoo.com >
2021-03-17 14:55:05 +00:00
mergify[bot]
1b5697a41d
mempool/rpc: log grooming (bp #6201 ) ( #6203 )
2021-03-04 09:04:13 -05:00
mergify[bot]
a047a4a70f
logs: cleanup ( #6198 )
...
Co-authored-by: Marko <marbar3778@yahoo.com >
2021-03-04 10:42:19 +00:00
mergify[bot]
52b1d90f56
rpc/jsonrpc: Unmarshal RPCRequest correctly (bp #6191 ) ( #6193 )
...
* rpc/jsonrpc: Unmarshal RPCRequest correctly (#6191 )
i.e. without double pointer. With double pointer, it was possible to
submit `null` value, which will crash the server.
```
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x189ddc0]
goroutine 1 [running]:
github.com/tendermint/tendermint/rpc/jsonrpc/types.(*RPCRequest).UnmarshalJSON(0xc0000147e0, 0xc00029f201, 0x4, 0x1ff, 0x883baa0, 0xc0000147e0)
/Users/anton/go/src/github.com/tendermint/tendermint/rpc/jsonrpc/types/types.go:70 +0x100
encoding/json.(*decodeState).literalStore(0xc000216bb0, 0xc00029f201, 0x4, 0x1ff, 0x1998800, 0xc0000147e0, 0x199, 0xc000231700, 0x10e0a5e, 0x197)
/usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:860 +0x30ce
encoding/json.(*decodeState).value(0xc000216bb0, 0x1998800, 0xc0000147e0, 0x199, 0x1998800, 0xc0000147e0)
/usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:384 +0x40c
encoding/json.(*decodeState).array(0xc000216bb0, 0x18df040, 0xc0001be540, 0x16, 0xc000216bd8, 0x10e405b)
/usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:558 +0x365
encoding/json.(*decodeState).value(0xc000216bb0, 0x18df040, 0xc0001be540, 0x16, 0x16, 0x6e)
/usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:360 +0x22f
encoding/json.(*decodeState).unmarshal(0xc000216bb0, 0x18df040, 0xc0001be540, 0xc000216bd8, 0x0)
/usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:180 +0x2c9
encoding/json.Unmarshal(0xc00029f200, 0x6, 0x200, 0x18df040, 0xc0001be540, 0x0, 0x0)
/usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:107 +0x15d
```
(cherry picked from commit fe4e97afe0 )
# Conflicts:
# CHANGELOG_PENDING.md
* fix conflict
Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com >
2021-03-02 14:46:48 +04:00
Callum Waters
b021ad5b7a
test: don't use foo-bar.net in TestHTTPClientMakeHTTPDialer ( #5997 ) ( #6047 )
...
This test relied on connecting to the external site `foo-bar.net`, and (predictably) the site went down and broke all of our CI runs. This changes it to use local HTTP servers instead.
Co-authored-by: Erik Grinaker <erik@interchain.berlin >
2021-02-04 13:11:07 +04:00
Aleksandr Bezobchuk
53463b3fef
rpc: fix content-type header
2020-11-16 10:54:34 -05:00
Marko
9379bc92fd
fix lint failures with 1.31 ( #5489 )
2020-10-22 13:36:08 +02:00
Anton Kaliaev
85a4be87a7
rpc/client: take context as first param ( #5347 )
...
Closes #5145
also applies to light/client
2020-09-23 09:21:57 +04:00
Thane Thomson
309e29c245
rpc: revert JSON-RPC/WebSocket response batching ( #5378 )
...
Revert the JSON-RPC/WebSocket response serialization format to the
standard way (i.e. a single RPC response per WebSocket text message) to
avoid breaking clients.
Serialization format changes will be discussed in an upcoming ADR.
Closes : #5373
2020-09-22 10:47:43 +04:00
Erik Grinaker
531fa07ad2
rpc: fix test data races ( #5363 )
...
Fixes a couple of test data races. `testing.T` is not concurrency-safe and should not be used in goroutines at all.
2020-09-16 08:48:28 +00:00
Marko
0ed8dba991
lint: enable errcheck ( #5336 )
...
## Description
Enable errcheck linter throughout the codebase
Closes : #5059
2020-09-07 15:03:18 +00:00
Marko
b8d08b9ef4
lint: add errchecks ( #5316 )
...
## Description
Work towards enabling errcheck
ref #5059
2020-09-04 11:58:03 +00:00
Anton Kaliaev
59ec3d91e4
rpc/jsonrpc/server: ws server optimizations ( #5312 )
...
* docs: goleveldb is much more stable now
Refs https://github.com/syndtr/goleveldb/issues/226#issuecomment-682495490
* rpc/core/events: make sure WS client receives every event
previously, if the write buffer was full, the response would've been
lost without any trace (log msg, etc.)
* rpc/jsonrpc/server: set defaultWSWriteChanCapacity to 1
Refs #3905
Closes #3829
setting write buffer capacity to 1 makes transactions count per block
more stable and also reduces the pauses length by 20s.
before: https://github.com/tendermint/tendermint/issues/3905#issuecomment-681854328 net.Read - 20s
after: net.Read - 0.66s
* rpc/jsonrpc/server: buffer writes and avoid io.ReadAll during read
2020-09-04 10:58:47 +04:00
Marko
2d167aefcf
ci: freeze golangci action version ( #5196 )
...
## Description
This PR updates golang-ci to latest and stops looking at master for the action.
Closes: #XXX
2020-08-03 07:57:06 +00:00
Anton Kaliaev
95fc7e58ee
rpc/jsonrpc/server: merge WriteRPCResponseHTTP and WriteRPCResponseAr ( #5141 )
...
...rrayHTTP
Closes #5135
Also, wrote a test for WriteRPCResponseHTTPError and used it with correct status codes according to https://www.jsonrpc.org/historical/json-rpc-over-http.html#response-codes
2020-07-21 13:03:02 +00:00
Marko
2ac5a559b4
libs: wrap mutexes for build flag with godeadlock ( #5126 )
...
## Description
This PR wraps the stdlib sync.(RW)Mutex & godeadlock.(RW)Mutex. This enables using go-deadlock via a build flag instead of using sed to replace sync with godeadlock in all files
Closes : #3242
2020-07-20 07:55:09 +00:00
Marko
16d2fa62eb
jsonrpc: change log to debug ( #5131 )
...
## Description
this log message was marked as not useful and in the issue it was proposed to move it to debug. I am going with this path for now. After we have refactored the logger we shold go through the codebase in order to clean our log statements.
Closes : #2101
2020-07-16 21:06:22 +00:00
Marko
6ccccb0933
lint: errcheck ( #5091 )
...
## Description
add more error checks to tests
gonna do a third PR that tackles the non test cases
2020-07-14 11:04:41 +00:00
Marko
7e2cc1db5e
linter: (1/2) enable errcheck ( #5064 )
...
## Description
partially cleanup in preparation for errcheck
i ignored a bunch of defer errors in tests but with the update to go 1.14 we can use `t.Cleanup(func() { if err := <>; err != nil {..}}` to cover those errors, I will do this in pr number two of enabling errcheck.
ref #5059
2020-07-01 15:13:11 +00:00
Erik Grinaker
ba3a2dde37
rpc: replace Amino with new JSON encoder ( #4968 )
...
Migrates the `rpc` package to use new JSON encoder in #4955 . Branched off of that PR.
Tests pass, but I haven't done any manual testing beyond that. This should be handled as part of broader 0.34 testing.
2020-06-08 12:04:05 +00:00
Marko
9149ee7d8b
lint: various fixes
...
## Description
various linitng fixes
2020-05-18 10:20:06 +00:00
Anton Kaliaev
a14ff5cb30
rpc: refactor lib folder ( #4836 )
...
Closes https://github.com/tendermint/tendermint/issues/3857
Moves `lib/` folder to `jsonrpc/`.
Renames:
**packages**
`rpc` package -> `jsonrpc` package
`rpcclient` package -> `client` package
`rpcserver` package -> `server` package
**structs and interfaces**
```
JSONRPCClient to Client
JSONRPCRequestBatch to RequestBatch
JSONRPCCaller to Caller
```
**functions**
```
StartHTTPServer to Serve
StartHTTPAndTLSServer to ServeTLS
rpc/jsonrpc/client: rename NewURIClient to NewURI
NewJSONRPCClient to New
NewJSONRPCClientWithHTTPClient to NewWithHTTPClient
NewWSClient to NewWS
```
**misc**
- unexpose `ResponseWriterWrapper`
- remove unused http_params.go
2020-05-13 16:40:57 +04:00