Go to file
Кирилл Горбунов 526e414d60 flush_v3 (#188)
## Pull Request template
Please, go through these steps before clicking submit on this PR.

1. Give a descriptive title to your PR.
2. Provide a description of your changes.
3. Make sure you have some relevant tests.
4. Put `closes #XXXX` in your comment to auto-close the issue that your PR fixes (if applicable).

**PLEASE REMOVE THIS TEMPLATE BEFORE SUBMITTING**

Co-authored-by: Gorbunov Kirill Andreevich <kgorbunov@mtsbank.ru>
Reviewed-on: #188
Co-authored-by: Кирилл Горбунов <kirya_gorbunov_2015@mail.ru>
Co-committed-by: Кирилл Горбунов <kirya_gorbunov_2015@mail.ru>
2024-03-26 14:52:33 +03:00
.github Bump dependabot/fetch-metadata from 1.3.5 to 1.3.6 (#135) 2023-01-30 21:21:45 +03:00
handler flush_v3 (#188) 2024-03-26 14:52:33 +03:00
.gitignore prepare for v3 2024-03-09 10:06:13 +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 flush_v3 (#188) 2024-03-26 14:52:33 +03:00
go.sum flush_v3 (#188) 2024-03-26 14:52:33 +03:00
handler.go fixup headers 2024-03-11 23:30:37 +03:00
http.go fixup cors handling 2024-03-20 12:27:14 +03:00
LICENSE codec rewrite 2020-11-26 01:20:45 +03:00
message.go server: remove unparsed body from request and message 2022-03-21 15:29:40 +03:00
options.go fixup cors handling 2024-03-20 12:27:14 +03:00
README.md use own fork 2020-10-10 00:38:35 +03:00
request.go server: remove unparsed body from request and message 2022-03-21 15:29:40 +03:00
server.go fill request with header and cookie data 2021-10-26 22:36:04 +03:00
subscriber.go copy incoming content-type 2023-12-20 09:26:06 +03:00
util_test.go fill request with header and cookie data 2021-10-26 22:36:04 +03:00
util.go fill request with header and cookie data 2021-10-26 22:36:04 +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()
}