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
Zahary Karadjov
172183e702
Allow the user to specify HttpClientFlags when creating a HTTP client
2023-05-05 02:25:36 +03: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
Jacek Sieka
c0ecb42613
normalise nimble, update ci, unittest2 ( #158 )
2022-12-02 13:17: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
Etan Kissling
446b18819d
do not disable TLS verification by default ( #148 )
...
Setting `NoVerifyHost`, `NoVerifyServerName` by default leads to
hard-to-debug bugs, it should always be explicit if wanted.
Note: This is also a workaround for https://github.com/status-im/nim-chronos/issues/313
2022-09-16 21:38:56 +02:00
Jacek Sieka
7c80b75856
fix enum parsing, work around potential `nil` dereference ( #150 )
...
* fix enum parsing, work around potential `nil` dereference
When the bizarre error handling in the http client fails, it may happen
that a nil is returned (maybe due to Nim bugs) - do it manually for now
2022-09-15 22:32:16 +03:00
Etan Kissling
c8cbe08de7
align `nim-websock` support with `news`
...
To allow switching between `news` and `nim-websock` in `nimbus-eth2`,
add support for the missing CORS and JWT authorization headers to the
`nim-websock` backend. Also transition from `StringTableRef` to
`HttpTable` to properly support multiple instances of same header name.
2022-09-05 22:44:06 +07:00
jangko
0fee4be2cc
implement hook to handle CORS and JWT auth
...
- fixes #138
- fixes #126
- fixes #38
2022-07-17 23:06:08 +07:00
Zahary Karadjov
d618b555e7
Use news by default; websock has known issues
2022-06-28 18:12:51 +03:00
Zahary Karadjov
335f292a58
Fix connection leaks in the HTTP client
2022-04-10 21:48:46 +03:00
Jacek Sieka
2e3d22b9e2
enable `styleCheck:usages` ( #135 )
2022-04-08 10:25:41 +02:00
Jacek Sieka
b4bab89abd
fix invalid raises annotations ( #132 )
...
* `raises` should not be used with async
* callbacks returning futures should not raise
2022-03-21 15:19:49 +01:00
Dustin Brody
2d0a417844
no-op on nil
2022-03-04 21:07:17 +00:00
Dustin Brody
b455958d8a
request header callback
2022-03-04 19:13:29 +00:00
tersec
0540afad4c
specify Content-Type: application/json HTTP header ( #129 )
2022-02-23 08:43:08 +01: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
Zahary Karadjov
35e6d7e6ff
Restore the support for using the news package
2021-11-29 15:36:17 +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
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
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
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
jangko
809172abe4
rename ws to websock
2021-06-29 11:51:05 +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
b8a8ca2623
replace news with nim-ws
...
fixes #103
2021-06-24 06:52:31 +07: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
Viktor Kirilov
ecf49a0632
updated news
2020-05-08 16:13:00 +03:00
Zahary Karadjov
f53e0b960b
Fix all tests
2020-03-17 22:05:42 +02:00
Ștefan Talpalaru
72a99cc977
replace getCurrentExceptionMsg() and delete some unused imports
2019-12-02 12:26:09 +01:00
Yuriy Glukhov
d4fbed75c7
Better error handling
2019-11-22 15:14:16 +02:00
Yuriy Glukhov
ef2e3cea19
Log errors in websocket readloop
2019-10-11 19:01:11 +09:00
Yuriy Glukhov
07e82fa194
Allow creating http client from url
2019-07-31 12:38:17 +03:00
Ștefan Talpalaru
8168fcea25
fix some problems raised by Nim 0.20.2
2019-07-19 13:48:26 +03:00
Yuriy Glukhov
881c62ed54
Allow custom headers in ws backend. Set Origin to http://localhost by default
2019-07-02 16:15:41 +03:00
Yuriy Glukhov
4bb08c671b
Fixed race condition when rpc server responds too fast
2019-06-26 13:39:58 +03:00
Zahary Karadjov
9d0326aad4
Allow building with chronicles_sinks=json
2019-06-20 18:57:13 +03:00
Yuriy Glukhov
b583dfb029
Use closeWait
2019-06-17 19:56:19 +03:00
Yuriy Glukhov
f19d66b35c
Websocket client support and some fixes
2019-06-12 20:53:15 +03:00
cheatfate
a56ad7dfcb
Fix freezes on *nix systems.
2019-05-14 18:42:51 +03:00
cheatfate
2d3db88137
Fix deprecated warnings.
2019-03-25 19:28:31 +02:00
Ștefan Talpalaru
159f9b816e
assert() -> doAssert()
2019-03-13 22:42:07 +01:00
Mamy Ratsimbazafy
53ed44dfa5
Rebrand asyncdispatch2 to chronos ( #50 )
2019-02-06 18:27:58 +01:00
Ștefan Talpalaru
1083b2972a
support Content-Type headers with specified charset
...
and add RPC message content to the debugging output (at the TRACE level,
disabled by default)
2019-01-28 12:39:27 +02:00