package rpc
Defines API for JSON-RPC 2.0.
import javax.json.JsonValue import little.json.{ Json, JsonAdapter } import little.json.Implicits._ import little.json.rpc._ case class Params(values: Int*) // Define adapter for converting params to and from JSON implicit object ParamsAdapter extends JsonAdapter[Params] { def reading(json: JsonValue): Params = Params(json.as[Seq[Int]] : _*) def writing(params: Params): JsonValue = Json.toJson(params.values) } // Create request with builder val request = JsonRpcRequest.builder() .version("2.0") .id("590d24ae-500a-486c-8d73-8035e78529bd") .method("sum") .params(Params(1, 2, 3)) .build() // Initialize response builder val responseBuilder = JsonRpcResponse.builder() .version(request.version) .id(request.id) request.method match { case "sum" => val params = request.params.get.as[Params] // Set result responseBuilder.result(params.values.sum) case name => // Or set error responseBuilder.error(MethodNotFound(name)) } // Create response with builder val response = responseBuilder.build()
- Alphabetic
- By Inheritance
- rpc
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
final
class
InternalError extends JsonRpcError
Represents JSON-RPC internal error (code = -32603).
-
final
class
InvalidParams extends JsonRpcError
Represents JSON-RPC invalid params (code = -32602).
-
final
class
InvalidRequest extends JsonRpcError
Represents JSON-RPC invalid request (code = -32600).
-
sealed
class
JsonRpcError extends RuntimeException
Represents JSON-RPC error.
-
sealed
trait
JsonRpcIdentifier extends AnyRef
Stores optional identifier.
-
sealed
trait
JsonRpcMessage extends AnyRef
Represents JSON-RPC message.
-
sealed
trait
JsonRpcRequest extends JsonRpcMessage
Represents JSON-RPC request.
-
sealed
trait
JsonRpcResponse extends JsonRpcMessage
Represents JSON-RPC request.
-
final
class
MethodNotFound extends JsonRpcError
Represents JSON-RPC method not found (code = -32601).
-
final
class
ParseError extends JsonRpcError
Represents JSON-RPC parse error (code = -32700).
Value Members
-
implicit
val
jsonRpcErrorAdapter: JsonAdapter[JsonRpcError]
Defines adapter for
JsonRpcError
. -
implicit
val
jsonRpcIdentifierAdapter: JsonAdapter[JsonRpcIdentifier]
Defines adapter for
JsonRpcIdentifier
. -
implicit
val
jsonRpcRequestAdapter: JsonAdapter[JsonRpcRequest]
Defines adapter for
JsonRpcRequest
. -
implicit
val
jsonRpcResponseAdapter: JsonAdapter[JsonRpcResponse]
Defines adapter for
JsonRpcResponse
. -
object
InternalError extends Serializable
Provides factory for
InternalError
. -
object
InvalidParams extends Serializable
Provides factory for
InvalidParams
. -
object
InvalidRequest extends Serializable
Provides factory for
InvalidRequest
. -
object
JsonRpc
Provides utilities for parsing JSON-RPC messages.
-
object
JsonRpcError extends Serializable
Provides factory for
JsonRpcError
. -
object
JsonRpcIdentifier
Provides factory for
JsonRpcIdentifier
. -
object
JsonRpcRequest
Provides factory for
JsonRpcRequest
. -
object
JsonRpcResponse
Provides factory for
JsonRpcResponse
. -
object
MethodNotFound extends Serializable
Provides factory for
MethodNotFound
. -
object
ParseError extends Serializable
Provides factory for
ParseError
.