commit
8e9c179ccf
@ -0,0 +1,33 @@ |
|||||||
|
defmodule BlockScoutWeb.API.RPC.EthRPCView do |
||||||
|
use BlockScoutWeb, :view |
||||||
|
|
||||||
|
defstruct [:result, :id, :error] |
||||||
|
|
||||||
|
def render("show.json", %{result: result, id: id}) do |
||||||
|
%__MODULE__{ |
||||||
|
result: result, |
||||||
|
id: id |
||||||
|
} |
||||||
|
end |
||||||
|
|
||||||
|
def render("error.json", %{error: message, id: id}) do |
||||||
|
%__MODULE__{ |
||||||
|
error: message, |
||||||
|
id: id |
||||||
|
} |
||||||
|
end |
||||||
|
|
||||||
|
defimpl Poison.Encoder, for: BlockScoutWeb.API.RPC.EthRPCView do |
||||||
|
def encode(%BlockScoutWeb.API.RPC.EthRPCView{result: result, id: id, error: error}, _options) when is_nil(error) do |
||||||
|
""" |
||||||
|
{"jsonrpc":"2.0","result":"#{result}","id":#{id}} |
||||||
|
""" |
||||||
|
end |
||||||
|
|
||||||
|
def encode(%BlockScoutWeb.API.RPC.EthRPCView{id: id, error: error}, _options) do |
||||||
|
""" |
||||||
|
{"jsonrpc":"2.0","error": #{error},"id": #{id}} |
||||||
|
""" |
||||||
|
end |
||||||
|
end |
||||||
|
end |
Loading…
Reference in new issue