Skip to content

Commit a4f8470

Browse files
authored
re-export json_serialization/pkg/chronos where needed (#243)
...and prepare for status-im/nim-json-serialization#128
1 parent 9665c26 commit a4f8470

File tree

6 files changed

+29
-31
lines changed

6 files changed

+29
-31
lines changed

json_rpc/clients/httpclient.nim

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,15 @@ import
1313
std/[tables, uri],
1414
stew/byteutils,
1515
results,
16-
chronos/apps/http/httpclient as chronosHttpClient,
17-
chronicles, httputils, json_serialization/std/net,
16+
chronos/apps/http/httpclient,
17+
chronicles, httputils,
18+
json_serialization/std/net as jsnet,
1819
../client,
1920
../errors,
2021
../private/jrpc_sys
2122

2223
export
23-
client, errors, HttpClientFlag, HttpClientFlags
24+
client, errors, jsnet, HttpClientFlag, HttpClientFlags
2425

2526
logScope:
2627
topics = "JSONRPC-HTTP-CLIENT"
@@ -31,7 +32,7 @@ type
3132

3233
RpcHttpClient* = ref object of RpcClient
3334
httpSession: HttpSessionRef
34-
httpAddress: HttpResult[HttpAddress]
35+
httpAddress: HttpAddress
3536
maxBodySize: int
3637
getHeaders: GetJsonRpcRequestHeaders
3738

@@ -76,8 +77,9 @@ template closeRefs(req, res: untyped) =
7677

7778
proc callImpl(client: RpcHttpClient, reqBody: string): Future[string] {.async.} =
7879
doAssert client.httpSession != nil
79-
if client.httpAddress.isErr:
80-
raise newException(RpcAddressUnresolvableError, client.httpAddress.error)
80+
if client.httpAddress.addresses.len == 0:
81+
raise newException(RpcPostError, "Not connected")
82+
8183

8284
var headers =
8385
if not isNil(client.getHeaders):
@@ -90,7 +92,7 @@ proc callImpl(client: RpcHttpClient, reqBody: string): Future[string] {.async.}
9092
var res: HttpClientResponseRef
9193

9294
req = HttpClientRequestRef.post(client.httpSession,
93-
client.httpAddress.get,
95+
client.httpAddress,
9496
body = reqBody.toOpenArrayByte(0, reqBody.len - 1),
9597
headers = headers)
9698
res =
@@ -140,13 +142,12 @@ proc newRpcHttpClient*(
140142
method call*(client: RpcHttpClient, name: string,
141143
params: RequestParamsTx): Future[JsonString]
142144
{.async.} =
143-
144145
let
145146
id = client.getNextId()
146147
reqBody = requestTxEncode(name, params, id)
147148

148149
debug "Sending JSON-RPC request",
149-
address = client.httpAddress, len = len(reqBody), name, id
150+
address = $client.httpAddress, len = len(reqBody), name, id
150151
trace "Message", msg = reqBody
151152

152153
let resText = await client.callImpl(reqBody)
@@ -207,21 +208,17 @@ method callBatch*(client: RpcHttpClient,
207208
raise newException(InvalidResponse, "Invalid response")
208209

209210
proc connect*(client: RpcHttpClient, url: string) {.async.} =
210-
client.httpAddress = client.httpSession.getAddress(url)
211-
if client.httpAddress.isErr:
212-
raise newException(RpcAddressUnresolvableError, client.httpAddress.error)
211+
client.httpAddress = client.httpSession.getAddress(url).valueOr:
212+
raise newException(RpcAddressUnresolvableError, error)
213213

214214
proc connect*(client: RpcHttpClient, address: string, port: Port, secure: bool) {.async.} =
215-
var uri = Uri(
215+
let uri = Uri(
216216
scheme: if secure: "https" else: "http",
217217
hostname: address,
218218
port: $port)
219219

220-
let res = getAddress(client.httpSession, uri)
221-
if res.isOk:
222-
client.httpAddress = res
223-
else:
224-
raise newException(RpcAddressUnresolvableError, res.error)
220+
client.httpAddress = getAddress(client.httpSession, uri).valueOr:
221+
raise newException(RpcAddressUnresolvableError, error)
225222

226223
method close*(client: RpcHttpClient) {.async.} =
227224
if not client.httpSession.isNil:

json_rpc/clients/socketclient.nim

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@ import
1414
chronicles,
1515
results,
1616
chronos,
17+
json_serialization/std/net as jsnet,
1718
../client,
1819
../errors,
1920
../private/jrpc_sys
2021

21-
export client, errors
22+
export client, errors, jsnet
2223

2324
logScope:
2425
topics = "JSONRPC-SOCKET-CLIENT"

json_rpc/private/jrpc_sys.nim

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,9 @@ import
1313
std/hashes,
1414
results,
1515
json_serialization,
16-
json_serialization/pkg/results as jser_results
16+
json_serialization/pkg/results as jsresults
1717

18-
export
19-
results,
20-
json_serialization
18+
export results, json_serialization, jsresults
2119

2220
# This module implements JSON-RPC 2.0 Specification
2321
# https://www.jsonrpc.org/specification

json_rpc/servers/httpserver.nim

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@ import
1313
std/sequtils,
1414
chronicles, httputils, chronos,
1515
chronos/apps/http/[httpserver, shttpserver],
16+
json_serialization/std/net as jsnet,
1617
../private/utils,
1718
../errors,
1819
../server
1920

2021
export
21-
server, shttpserver
22+
server, shttpserver, jsnet
2223

2324
logScope:
2425
topics = "JSONRPC-HTTP-SERVER"

json_rpc/servers/socketserver.nim

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212
import
1313
std/sequtils,
1414
chronicles,
15-
json_serialization/std/net,
15+
json_serialization/std/net as jsnet,
1616
../private/utils,
1717
../errors,
1818
../server
1919

20-
export errors, server
20+
export errors, server, jsnet
2121

2222
type
2323
RpcSocketServer* = ref object of RpcServer

json_rpc/servers/websocketserver.nim

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,12 @@
1212
import
1313
chronicles, chronos, websock/[websock, types],
1414
websock/extensions/compression/deflate,
15-
stew/byteutils, json_serialization/std/net,
16-
".."/[errors, server]
15+
stew/byteutils,
16+
json_serialization/std/net as jsnet,
1717

18-
export errors, server, net
18+
../[errors, server]
19+
20+
export errors, server, jsnet
1921

2022
logScope:
2123
topics = "JSONRPC-WS-SERVER"
@@ -84,8 +86,7 @@ proc serveHTTP*(rpc: RpcWebSocketHandler, request: HttpRequest)
8486

8587
proc handleRequest(rpc: RpcWebSocketServer, request: HttpRequest)
8688
{.async: (raises: [CancelledError]).} =
87-
trace "Handling request:", uri = request.uri.path
88-
trace "Initiating web socket connection."
89+
trace "Handling request:", uri = $request.uri
8990

9091
# if hook result is false,
9192
# it means we should return immediately

0 commit comments

Comments
 (0)