605 Commits

Author SHA1 Message Date
jangko
85d6a67fbc
Move CancelledError handling to outer try/except of RpcWebsocketServer 2024-01-29 10:40:40 +07:00
jangko
c5c40af304
HttpAuthHook use async raises 2024-01-27 18:00:02 +07:00
jangko
addfc322f5
Revert "Fix CI badge url"
This reverts commit 169b0e796172533af96dfaf338ea306369746a38.
2024-01-27 16:12:41 +07:00
jangko
bdc7f36f6d
Upgrade github actions to v4 2024-01-27 14:49:42 +07:00
jangko
169b0e7961
Fix CI badge url 2024-01-27 14:49:28 +07:00
jangko
110c45a333
http server better exception handling 2024-01-27 14:47:24 +07:00
jangko
9c2b36e636
Use pragma push/pop pair to disable warning 2024-01-27 14:39:41 +07:00
jangko
9a34452e23
Refactoring: extract rpc handler from HTTP and WebSocket server 2024-01-25 19:43:00 +07:00
jangko
dad0255c71
Client pass meaningful error to newFut when processMessage failed 2024-01-23 12:10:33 +07:00
andri lim
26a6cb1790
Client also handle error message if id is null (#196)
* Client also handle error message if id is null

* Reduce compiler warnings in testethcalls

* Fix gcsafe error
2024-01-21 12:06:18 +07:00
andri lim
8d79d52841
Improve both client and server resilience against fields and elements with null value (#195)
* Improve resilience against null fields

* Fix client processMessage when handling error

* Improve both client and server resilience against fields and elements with null value
2024-01-17 14:10:05 +07:00
jangko
b6d068f489
Fix improper yield usage in json-rpc-websocketserver 2024-01-15 10:59:16 +07:00
jangko
f90e946b6a
Router.register should not raise exception 2024-01-13 15:36:47 +07:00
jangko
66208055bc
Both http server and client now can handle chunked transfer 2024-01-12 17:05:55 +07:00
jangko
97d19b9583
Add comments in wrapper generator 2024-01-12 08:33:29 +07:00
jangko
a6475e49b2
v0.3.0 2024-01-11 21:23:55 +07:00
jangko
ab3dd0009b
RPC server handle null return value correctly 2024-01-11 13:57:18 +07:00
jangko
08ceae27e0
Move errors module back to json_rpc folder 2024-01-08 10:37:29 +07:00
jangko
c688889c85
Fix example in the README.md 2024-01-07 16:50:33 +07:00
jangko
09d1281a62
Add onProcessMessage hook to client 2024-01-07 16:12:23 +07:00
jangko
20b4c9a0fb
Let the OS choose the port for tests 2024-01-07 15:33:43 +07:00
jangko
31b741720b
Add test for createRpcSigsFromNim and createSingleRpcSig 2024-01-04 20:36:43 +07:00
jangko
2f6a605aa2
Reenable test hhtps 2024-01-04 11:53:15 +07:00
jangko
834de413d9
Rename jrpc_sys module back to jsonmarshal 2024-01-04 11:40:22 +07:00
jangko
014658d1e4
Fix optional parameter parsing fails in rpc macro with generics 2024-01-04 11:17:31 +07:00
kdeme
f59e387da2
Add example test case that currently fails the Option parsing 2024-01-04 11:01:49 +07:00
jangko
76dd352ace
Remove StringOfJson 2024-01-04 07:49:19 +07:00
andri lim
e0b077fea4
Upgrade rpc router internals (#178)
* Upgrade rpc router internals

* use new chronos asyncraises

* Fix style mismatch

* Fix nim v2 compilation error

* Addresing review

* Remove unnecessary custom serializer and let the library do the work

* fix error message

* Update readme.md
2024-01-03 20:06:53 +07:00
jangko
c3769f9130
Add copyright to source file 2023-12-14 08:34:13 +07:00
coffeepots
819b6fed37
Use nim-json-serialization for RPCs (#172)
* Use nim-json-serialization for RPCs

* Add distinct serializers for RPC types

* Avoid ConvFromXtoItselfNotNeeded in testing

* Remove redundent `==` template

* Rename Eth1JsonRpc to JsonRpc

* Fix generic instantiation clash

---------

Co-authored-by: jangko <jangko128@gmail.com>
2023-12-14 08:29:11 +07:00
jangko
08d7fccfe2
v0.2.0 2023-12-13 09:27:19 +07:00
Jacek Sieka
33360528d2
fix improper yield usage (#175)
`yield` does not work with chronos futures
2023-12-13 09:21:50 +07:00
jangko
a8731e91bc
Support decoding nil ref object 2023-12-12 09:55:21 +07:00
Etan Kissling
60c4c9b5f2
improve RPC client logging (#171)
We currently only debug log successfully sent messages to RPC.
For debugging, it would be better to see the attempt and any failures.
Adjust logging to provide more information when debugging.
Also include the message name at debug level instead of just trace.
2023-08-23 14:20:19 +02:00
jangko
b067143788
fix ws server param type 2023-08-15 13:49:31 +07:00
jangko
26abc0e3d2
fix router example 2023-08-15 13:49:02 +07:00
tersec
32200345f8
use JsonNode.isNil rather than == nil to work around Nim issues (#167) 2023-07-12 17:34:34 +00:00
tersec
325dd4ec35
test Nim 2.0 in CI (#166) 2023-07-11 06:07:24 +00:00
Ivan Folgueira Bande
0bf2bcbe74
httpserver.nim: adding 'Content-Type: application/json' header to the response (#165) 2023-06-15 11:11:26 +02:00
Kim De Mey
4c31a8bd46
Remove nimble.lock file to be able to run nimble test (#161)
With the nimble.lock file it is not possible to run any nimble
commands from within a nimbus-build-system project env.

Co-authored-by: Jacek Sieka <jacek@status.im>
2023-06-07 10:57:37 +02:00
tersec
f79be14c99
drop support for Nim v1.2/1.4 (#164) 2023-05-25 12:16:08 +03:00
Zahary Karadjov
172183e702
Allow the user to specify HttpClientFlags when creating a HTTP client 2023-05-05 02:25:36 +03:00
Shuu
af12764436
Fix Nim 1.6 regressions (#160) 2023-03-06 17:00:35 +02:00
Zahary Karadjov
07e4705b1f
The ErrorResponse exception now preserves information about the HTTP status code and reason 2023-03-01 12:40:16 +02:00
jangko
38950a786d
reduce compiler warnings 2023-02-22 12:00:35 +07:00
Jacek Sieka
c0ecb42613
normalise nimble, update ci, unittest2 (#158) 2022-12-02 13:17:27 +01:00
Tanguy
4e9cc184ca
Fix newRng usage (#157) 2022-11-24 12:10:08 +01:00
Jacek Sieka
3defa1719d
Update README.md 2022-11-24 12:09:06 +01:00
Jacek Sieka
c3fa1a4f0f
update requirements/usage 2022-11-24 12:08:27 +01:00
Jacek Sieka
b4aff8fec5
remove news support (#155)
`news` has several resource leaks and other security issues - replaced
by `nim-websock` which is actively maintained.
2022-11-08 14:39:29 +01:00