Commit Graph

628 Commits

Author SHA1 Message Date
jangko 51fadf850c
Fix #124 2022-02-14 12:16:31 +07:00
Zahary Karadjov 97ba55bbf6
Release the HTTP sessions 2022-02-02 19:51:04 +02:00
Zahary Karadjov 5a28176080 Fix #117 2022-01-08 21:39:29 +02:00
Jacek Sieka 77c85a8876
fix missing logging import 2021-12-17 11:36:49 +01:00
Ștefan Talpalaru 24b56c8d2b
CI: test with multiple Nim versions (#121)
* CI: test with multiple Nim versions

and disable C++ testing (linker doesn't like arg order)
2021-12-16 23:33:42 +01:00
Mark Spanbroek 59a01aa200 Remove version pin on chronicles
Caused dependency conflicts when combining json_rpc with other
packages that depend on chronicles, now that chronicles has
a new version (0.10.2).
2021-12-16 14:48:33 +01:00
Zahary Karadjov 35e6d7e6ff
Restore the support for using the news package 2021-11-29 15:36:17 +02:00
Zahary Karadjov 7ff4559cc0 Allow dynamic RPC method names in the 'rpc' macro 2021-11-24 15:57:46 +02:00
Zahary Karadjov c455198d4f
Eliminate code duplication in the HTTP/S servers 2021-11-22 20:24:11 +02:00
Zahary Karadjov e4dba96f5c
Improve cancellation support and code style 2021-11-22 17:24:07 +02:00
Zahary Karadjov 7ab1b31614
Fix code breakage after the rebase 2021-11-22 17:05:26 +02:00
Bernardo A. Rodrigues 3599a73b58
Chronos HTTP(S) Server (#111) 2021-11-22 15:14:30 +02:00
Zahary Karadjov 9db5407e81
Switch to Chronos HTTP client (adds support for HTTPS) 2021-11-22 15:14:27 +02:00
Zahary Karadjov 2307dbec57 Add support for producing custom error codes from request hanlers 2021-10-06 10:50:08 +02:00
jangko b2417fc071
fix both ws rpc server and client due to websock breaking changes
- change recv() to recvMsg()
2021-08-05 14:54:36 +07:00
KonradStaniec a1715e33ac
Make client config public (#113) 2021-08-02 13:18:51 +02:00
KonradStaniec eda5e8554f
add support for websocket in proxy (#112) 2021-07-30 11:24:09 +02:00
jangko 318949a401
fixes ws rpc client bug: error when trying to connect to infura
fixes #109

previously, if using uri such as "wss://mainnet.infura.io/ws/v3/infura-id",
the client will throw error. this bug already fixed in nim-websock,
now this also fixed in json-rpc. it works when connected to infura wss.
2021-07-19 10:35:23 +07:00
KonradStaniec a138c410c5
[FEATURE] Add additional constructor to the proxy (#108) 2021-07-12 07:22:01 +02:00
KonradStaniec 147ef3f562
[FEATURE] Add http json rpc proxy (#105) 2021-06-29 18:13:31 +03:00
jangko 809172abe4
rename ws to websock 2021-06-29 11:51:05 +07:00
jangko 62becee070
rpcwsserver: allocate deflateFactory only if compression enabled 2021-06-25 16:41:58 +07:00
jangko b9e9be8f19
use string.fromBytes to replace cast[string](bytes) 2021-06-24 06:52:32 +07:00
jangko 69e8be66fb
add compression support for websocket rpc server-client
fixes #62
2021-06-24 06:52:31 +07:00
jangko ccb19734e6
add test cases for rpc websocket client-server 2021-06-24 06:52:31 +07:00
jangko b8a8ca2623
replace news with nim-ws
fixes #103
2021-06-24 06:52:31 +07:00
jangko c6be913c69
implement json rpc websocket server
- both ws and wss mode

fixes #76
2021-06-23 18:44:33 +07:00
jangko a79f10f10f
adapt testserverclient for upcoming websocket test 2021-06-23 16:09:44 +07:00
Ștefan Talpalaru 22c342bcc1 CI: refactor Nim compiler caching 2021-05-28 08:28:22 +03:00
Zahary Karadjov 7a9d118929 More proper client closing code 2021-04-07 00:40:54 +03:00
Jacek Sieka 64d40d6c1a
simplify imports (#98)
remove broken uint64 converter - upstream std/json also includes a
broken uint64 converter
2021-03-26 13:17:00 +01:00
Jacek Sieka ac5288651c
Exception handling signatures (#97)
Minimally work around leaking `Exception` for
https://github.com/status-im/nim-chronos/pull/166
2021-03-26 11:53:03 +01:00
Jacek Sieka 4eb39203eb
fixes (#95)
* fixes

* fix https://github.com/status-im/nimbus-eth2/issues/1650
* only one of `result` and `error` allowed in response
* fix invalid `string` instances being created from byte sequences
* fix large int64 parsing on 32-bit
* fix exception inheritance
* fix some dangling results
* some cleanups

* annotate exception issues, fix cancellation

* more error handling cleanup

* add rudimentary error tests

* cleanups

* simplify init
* use nextId -> lastId to avoid =1 init
* remove obsolete tests
2021-02-15 13:45:51 +01:00
Joe Clapis 831471f6d4
Added the ability to handle omitted params fields in incoming requests, and a unit test for it (#94) 2021-02-07 20:27:34 +01:00
Ștefan Talpalaru b0e82cb70a enable cross-compilation 2021-02-03 21:36:08 +02:00
andri lim ded863fcb1
Merge pull request #91 from status-im/github_action
add github action script
2021-01-08 12:05:25 +07:00
jangko 6ccf3141e8
add github action script 2021-01-07 18:12:27 +07:00
Jacek Sieka ce51ffdf16
print url in log startup message (#89)
...and tone down connection logging
2021-01-07 10:42:26 +01:00
Hanno Cornelius dc3a2d33fc
Added marshalling support for uint32 (#88)
* Added marshalling support for uint32

* Update json_rpc/jsonmarshal.nim

Co-authored-by: Jacek Sieka <arnetheduck@gmail.com>

Co-authored-by: Jacek Sieka <arnetheduck@gmail.com>
2020-11-16 15:45:53 +01:00
Mamy Ratsimbazafy 99455437ba
Fix silent uint64 negative conversion https://github.com/status-im/nim-beacon-chain/issues/1671 https://github.com/status-im/nim-beacon-chain/pull/1819 (#85) 2020-10-07 12:09:36 +02:00
andri lim dff46c991d
Merge pull request #84 from status-im/update_dependency
change tormund/news to status-im/news
2020-09-21 12:47:11 +07:00
jangko 18dceaa29f
change tormund/news to status-im/news 2020-09-21 12:08:17 +07:00
Giovanni Petrantoni 62349c39c6
avoid spamming logs when rpcs happen (#83) 2020-09-05 20:41:26 +02:00
Ștefan Talpalaru 6406c96b27
Merge pull request #82 from status-im/chronos
can't use `result` when returning Future[void]
2020-08-08 16:08:50 +02:00
Ștefan Talpalaru d90bdb679b
can't use `result` when returning Future[void] 2020-08-07 17:24:15 +02:00
Zahary Karadjov 244254632b
Improved handling of invalid responses; Handle seq[byte] results such as `eth_getCode` 2020-06-19 20:42:49 +03:00
Viktor Kirilov 8c1a8ef8d9 serialization for tuples - just like for objects 2020-06-11 14:56:57 +03:00
Viktor Kirilov 271512c161 proper name for topics so that we can filter dynamically using chronicles 2020-06-09 17:00:21 +03:00
Viktor Kirilov ecf49a0632 updated news 2020-05-08 16:13:00 +03:00
Zahary Karadjov 5c0d096111
Support Nim 1.2 2020-03-24 16:50:34 +02:00