http

package module
v0.0.0-...-fa6fafb Latest Latest
Warning

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

Go to latest
Published: Aug 19, 2024 License: Apache-2.0 Imports: 27 Imported by: 0

README

HTTP Client

This plugin is a http client for micro.

Overview

The http client wraps net/http to provide a robust micro client with service discovery, load balancing and streaming. It complies with the micro.Client interface.

Usage

Use directly
import "github.com/smart-echo/micro-plugins/client/http"

service := micro.NewService(
	micro.Name("my.service"),
	micro.Client(http.NewClient()),
)
Use with flags
import _ "github.com/smart-echo/micro-plugins/client/http"
go run main.go --client=http
Call Service

Assuming you have a http service "my.service" with path "/foo/bar"

// new client
client := http.NewClient()

// create request/response
request := client.NewRequest("my.service", "/foo/bar", protoRequest{})
response := new(protoResponse)

// call service
err := client.Call(context.TODO(), request, response)

Look at http_test.go for detailed use.

Encoding

Default protobuf with content-type application/proto

client.NewRequest("service", "/path", protoRequest{})

Json with content-type application/json

client.NewJsonRequest("service", "/path", jsonRequest{})

Documentation

Overview

Package http provides a http client

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewClient

func NewClient(opts ...client.Option) client.Client

Types

type Codec

type Codec interface {
	Marshal(v interface{}) ([]byte, error)
	Unmarshal(b []byte, v interface{}) error
	String() string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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