jsonrpc2

package module
v2.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 6, 2020 License: Apache-2.0 Imports: 11 Imported by: 0

README

JSON-RPC 2.0 Codec

Usage

Import the codec and set within the client/server

package main

import (
    "github.com/micro/go-micro/v2"
    "github.com/micro/go-micro/client"
    "github.com/micro/go-micro/server"
    "github.com/micro/go-plugins/codec/jsonrpc2"
)

func main() {
    client := client.NewClient(
        client.Codec("application/json", jsonrpc2.NewCodec),
        client.ContentType("application/json"),
    )

    server := server.NewServer(
        server.Codec("application/json", jsonrpc2.NewCodec),
    )

    service := micro.NewService(
        micro.Client(client),
        micro.Server(server),
    )

    // ...
}

Documentation

Overview

Package jsonrpc2 provides a json-rpc 2.0 codec

Based on powerman/rpc-codec: The MIT License (MIT) Copyright (c) 2015 Alex Efros

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCodec

func NewCodec(rwc io.ReadWriteCloser) codec.Codec

Types

type Error

type Error struct {
	Code    int         `json:"code"`
	Message string      `json:"message"`
	Data    interface{} `json:"data,omitempty"`
}

Error represent JSON-RPC 2.0 "Error object".

func NewError

func NewError(code int, message string) *Error

NewError returns an Error with given code and message.

func ServerError

func ServerError(rpcerr error) *Error

ServerError convert errors returned by Client.Call() into Error. User should check for rpc.ErrShutdown and io.ErrUnexpectedEOF before calling ServerError.

func (*Error) Error

func (e *Error) Error() string

Error returns JSON representation of Error.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL