Remove readme and examples from web repo
This commit is contained in:
		
							
								
								
									
										114
									
								
								web/README.md
									
									
									
									
									
								
							
							
						
						
									
										114
									
								
								web/README.md
									
									
									
									
									
								
							| @@ -1,114 +0,0 @@ | |||||||
| # Go Web |  | ||||||
|  |  | ||||||
| **Go Web** is a framework for micro service web development. |  | ||||||
|  |  | ||||||
| ## Overview |  | ||||||
|  |  | ||||||
| Go Web provides a tiny HTTP web server library which leverages [go-micro](https://github.com/micro/go-micro) to create  |  | ||||||
| micro web services as first class citizens in a microservice world. It wraps go-micro to give you service discovery,  |  | ||||||
| heartbeating and the ability to create web apps as microservices. |  | ||||||
|  |  | ||||||
| ## Features |  | ||||||
|  |  | ||||||
| - **Service Discovery** - Services are automatically registered in service discovery on startup. Go Web includes  |  | ||||||
| a http.Client with pre-initialised roundtripper which makes use of service discovery so you can use service names. |  | ||||||
|  |  | ||||||
| - **Heartbeating** - Go Web apps will periodically heartbeat with service discovery to provide liveness updates.  |  | ||||||
| In the event a service fails it will be removed from the registry after a pre-defined expiry time. |  | ||||||
|  |  | ||||||
| - **Custom Handlers** - Specify your own http router for handling requests. This allows you to maintain full  |  | ||||||
| control over how you want to route to internal handlers. |  | ||||||
|  |  | ||||||
| - **Static Serving** - Go Web automatically detects a local static `html` dir and serves files if no route handler  |  | ||||||
| is specified. A quick solution for those who want to write JS web apps as microservices. |  | ||||||
|  |  | ||||||
| ## Getting Started |  | ||||||
|  |  | ||||||
| - [Dependencies](#dependencies) |  | ||||||
| - [Usage](#usage) |  | ||||||
| - [Set Handler](#set-handler) |  | ||||||
| - [Call Service](#call-service) |  | ||||||
| - [Static Files](#static-files) |  | ||||||
|  |  | ||||||
| ## Dependencies |  | ||||||
|  |  | ||||||
| Go Web makes use of Go Micro which means it needs service discovery |  | ||||||
|  |  | ||||||
| See the [go-micro](https://github.com/micro/go-micro#service-discovery) for install instructions |  | ||||||
|  |  | ||||||
| For a quick start use consul |  | ||||||
|  |  | ||||||
| ``` |  | ||||||
| # install |  | ||||||
| brew install consul |  | ||||||
|  |  | ||||||
| # run |  | ||||||
| consul agent -dev |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| ## Usage |  | ||||||
|  |  | ||||||
| ```go |  | ||||||
| service := web.NewService( |  | ||||||
| 	web.Name("example.com"), |  | ||||||
| ) |  | ||||||
|  |  | ||||||
| service.HandleFunc("/foo", fooHandler) |  | ||||||
|  |  | ||||||
| if err := service.Init(); err != nil { |  | ||||||
| 	log.Fatal(err) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| if err := service.Run(); err != nil { |  | ||||||
| 	log.Fatal(err) |  | ||||||
| } |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| ## Set Handler |  | ||||||
|  |  | ||||||
| You might have a preference for a HTTP handler, so use something else. This loses the ability to register endpoints in discovery  |  | ||||||
| but we'll fix that soon. |  | ||||||
|  |  | ||||||
| ```go |  | ||||||
| import "github.com/gorilla/mux" |  | ||||||
|  |  | ||||||
| r := mux.NewRouter() |  | ||||||
| r.HandleFunc("/", indexHandler) |  | ||||||
| r.HandleFunc("/objects/{object}", objectHandler) |  | ||||||
|  |  | ||||||
| service := web.NewService( |  | ||||||
| 	web.Handler(r) |  | ||||||
| ) |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| ## Call Service |  | ||||||
|  |  | ||||||
| Go-web includes a http.Client with a custom http.RoundTripper that uses service discovery |  | ||||||
|  |  | ||||||
| ```go |  | ||||||
| c := service.Client() |  | ||||||
|  |  | ||||||
| rsp, err := c.Get("http://example.com/foo") |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| This will lookup service discovery for the service `example.com` and route to one of the available nodes. |  | ||||||
|  |  | ||||||
| ## Static Files |  | ||||||
|  |  | ||||||
| Go web was always meant as a way to register web apps where the majority of the code would be written in JS. To enable that by default, if no handler is registered on "/" and we find a local "html" directory then static files will be served. |  | ||||||
|  |  | ||||||
| You will see a log output like so. |  | ||||||
|  |  | ||||||
| ``` |  | ||||||
| 2019/05/12 14:55:47 Enabling static file serving from /tmp/foo/html |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| If you want to set this path manually use the StaticDir option. If a relative path is specified we will use os.Getwd() and prefix this. |  | ||||||
|  |  | ||||||
| ``` |  | ||||||
| service := web.NewService( |  | ||||||
| 	web.Name("example.com"), |  | ||||||
| 	web.StaticDir("/tmp/example.com/html"), |  | ||||||
| ) |  | ||||||
|  |  | ||||||
| ``` |  | ||||||
| @@ -1,7 +0,0 @@ | |||||||
| # Examples |  | ||||||
|  |  | ||||||
| Name	|	Description |  | ||||||
| ---	|	--- |  | ||||||
| [Message](https://github.com/micro/message-web)	|	A simple text based messaging web app |  | ||||||
| [Geo](https://github.com/micro/geo-web)	|	A geo location map demo |  | ||||||
|  |  | ||||||
| @@ -1,29 +0,0 @@ | |||||||
| package main |  | ||||||
|  |  | ||||||
| import ( |  | ||||||
| 	"fmt" |  | ||||||
| 	"log" |  | ||||||
| 	"net/http" |  | ||||||
|  |  | ||||||
| 	"github.com/micro/go-micro/web" |  | ||||||
| ) |  | ||||||
|  |  | ||||||
| func helloWorldHandler(w http.ResponseWriter, r *http.Request) { |  | ||||||
| 	fmt.Fprint(w, `<html><body><h1>Hello World</h1></body></html>`) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func main() { |  | ||||||
| 	service := web.NewService( |  | ||||||
| 		web.Name("helloworld"), |  | ||||||
| 	) |  | ||||||
|  |  | ||||||
| 	service.HandleFunc("/", helloWorldHandler) |  | ||||||
|  |  | ||||||
| 	if err := service.Init(); err != nil { |  | ||||||
| 		log.Fatal(err) |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	if err := service.Run(); err != nil { |  | ||||||
| 		log.Fatal(err) |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
		Reference in New Issue
	
	Block a user