Go to file
Vasiliy Tolstov 36aa9f6a28 update workflow
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2021-09-21 21:47:57 +03:00
.github update workflow 2021-09-21 21:47:57 +03:00
.golangci.yml lint (#57) 2021-04-26 00:43:06 +03:00
.synced add missing files 2020-10-10 00:39:35 +03:00
go.mod Bump github.com/unistack-org/micro/v3 from 3.7.0 to 3.7.1 (#71) 2021-09-17 08:33:57 +03:00
go.sum Bump github.com/unistack-org/micro/v3 from 3.7.0 to 3.7.1 (#71) 2021-09-17 08:33:57 +03:00
handler.go add all http request metadata 2021-08-11 12:47:44 +03:00
http.go add ability to register RPC endpoint 2021-07-14 13:43:45 +03:00
LICENSE codec rewrite 2020-11-26 01:20:45 +03:00
message.go fieldalignment 2021-04-25 12:09:09 +03:00
options.go add GetError method to Error type 2021-08-31 23:56:56 +03:00
README.md use own fork 2020-10-10 00:38:35 +03:00
request.go lint (#57) 2021-04-26 00:43:06 +03:00
server.go lint (#57) 2021-04-26 00:43:06 +03:00
subscriber.go lint (#57) 2021-04-26 00:43:06 +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/unistack-org/micro/v3/server"
	httpServer "github.com/unistack-org/micro-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/unistack-org/micro/v3"
	"github.com/unistack-org/micro/v3/server"
	httpServer "github.com/unistack-org/micro-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()
}