66 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# 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
 | 
						|
 | 
						|
```go
 | 
						|
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
 | 
						|
 | 
						|
```go
 | 
						|
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()
 | 
						|
}
 | 
						|
```
 |