Go to file
Vasiliy Tolstov 7b78210ef5 go.mod per package (#450)
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-10-09 18:14:43 +03:00
buffer.go http server supports subscriber 2020-10-09 18:12:47 +03:00
extractor.go add the various updates for proxy in http client/server 2020-10-09 18:14:38 +03:00
go.mod go.mod per package (#450) 2020-10-09 18:14:43 +03:00
go.sum go.mod per package (#450) 2020-10-09 18:14:43 +03:00
handler.go Set endpoint metadata in the http server 2020-10-09 18:12:47 +03:00
http_test.go Fix breaks related to removing node.port 2020-10-09 18:14:38 +03:00
http.go fix: Broker's port is not registered. 2020-10-09 18:12:47 +03:00
message.go rename 2020-10-09 18:12:47 +03:00
options.go fix: initialize broker and subscribers 2020-10-09 18:12:47 +03:00
README.md Fix readme tabs 2020-10-09 18:12:47 +03:00
subscriber.go Switch to broker.Event 2020-10-09 18:14:38 +03:00

HTTP Server

The HTTP Server is a go-micro.Server. It's a partial implementation which strips out codecs, transports, etc but enables you to create a HTTP Server that could potentially be used for REST based API services.

Usage

import (
	"net/http"

	"github.com/micro/go-micro/server"
	httpServer "github.com/micro/go-plugins/server/http"
)

func main() {
	srv := httpServer.NewServer(
		server.Name("helloworld"),
	)

	mux := http.NewServeMux()
	mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		w.Write([]byte(`hello world`))
	})

	hd := srv.NewHandler(mux)

	srv.Handle(hd)
	srv.Start()
	srv.Register()
}

Or as part of a service

import (
	"net/http"

	"github.com/micro/go-micro"
	"github.com/micro/go-micro/server"
	httpServer "github.com/micro/go-plugins/server/http"
)

func main() {
	srv := httpServer.NewServer(
		server.Name("helloworld"),
	)

	mux := http.NewServeMux()
	mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		w.Write([]byte(`hello world`))
	})

	hd := srv.NewHandler(mux)

	srv.Handle(hd)

	service := micro.NewService(
		micro.Server(srv),
	)
	service.Init()
	service.Run()
}