Compare commits
	
		
			2 Commits
		
	
	
		
			3d0a69d5a3
			...
			9025844212
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 9025844212 | ||
|  | 5d5d58544f | 
| @ -1,6 +1,5 @@ | |||||||
| package main | package main | ||||||
| 
 | 
 | ||||||
| import "log" |  | ||||||
| import "sync" | import "sync" | ||||||
| import "path" | import "path" | ||||||
| import "net/http" | import "net/http" | ||||||
| @ -14,8 +13,9 @@ type Post struct { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type Board struct { | type Board struct { | ||||||
|  | 	service.Service | ||||||
|  | 	 | ||||||
| 	root     string | 	root     string | ||||||
| 	mount    *service.HTTP |  | ||||||
| 	mux      *http.ServeMux | 	mux      *http.ServeMux | ||||||
| 	template *template.Template | 	template *template.Template | ||||||
| 
 | 
 | ||||||
| @ -26,14 +26,16 @@ type Board struct { | |||||||
| func main () { | func main () { | ||||||
| 	board := Board { root: "/board/" } | 	board := Board { root: "/board/" } | ||||||
| 	board.mux   = http.NewServeMux() | 	board.mux   = http.NewServeMux() | ||||||
| 	board.mount = &service.HTTP { | 	board.Service = service.Service { | ||||||
| 		Mount: service.Mount { | 		&service.HTTP { | ||||||
| 			Path:        board.root, | 			Mount: service.MountConfig { | ||||||
| 			Name:        "Board", | 				Path:        board.root, | ||||||
| 			Description: "A board where you can post things.", | 				Name:        "Board", | ||||||
| 			TLSConfig:    &tls.Config { InsecureSkipVerify: true }, | 				Description: "A board where you can post things.", | ||||||
|  | 				TLSConfig:    &tls.Config { InsecureSkipVerify: true }, | ||||||
|  | 			}, | ||||||
|  | 			Handler: board.mux, | ||||||
| 		}, | 		}, | ||||||
| 		Handler: board.mux, |  | ||||||
| 	} | 	} | ||||||
| 	handle := func (pattern string, handler func (http.ResponseWriter, *http.Request)) { | 	handle := func (pattern string, handler func (http.ResponseWriter, *http.Request)) { | ||||||
| 		board.mux.HandleFunc(pattern, handler) | 		board.mux.HandleFunc(pattern, handler) | ||||||
| @ -42,10 +44,7 @@ func main () { | |||||||
| 	handle(path.Join(board.root, "actionPost"), board.serveActionPost) | 	handle(path.Join(board.root, "actionPost"), board.serveActionPost) | ||||||
| 	board.template = template.Must(template.New("board").Parse(tem)) | 	board.template = template.Must(template.New("board").Parse(tem)) | ||||||
| 
 | 
 | ||||||
| 	err := board.mount.Run() | 	board.Run() | ||||||
| 	if err != nil { |  | ||||||
| 		log.Println("XXX", err) |  | ||||||
| 	} |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (board *Board) getPosts (max int) []*Post { | func (board *Board) getPosts (max int) []*Post { | ||||||
|  | |||||||
| @ -12,7 +12,7 @@ func main () { | |||||||
| 	http.HandleFunc("/gifs/", gifs) | 	http.HandleFunc("/gifs/", gifs) | ||||||
| 	http.Handle("/gifs/static/", http.StripPrefix("/gifs/static", static)) | 	http.Handle("/gifs/static/", http.StripPrefix("/gifs/static", static)) | ||||||
| 	 | 	 | ||||||
| 	err := (&service.HTTP { Mount: service.Mount { | 	err := (&service.HTTP { Mount: service.MountConfig { | ||||||
| 		Path:        "/gifs/", | 		Path:        "/gifs/", | ||||||
| 		Name:        "Gifs", | 		Name:        "Gifs", | ||||||
| 		Description: "Serves a lot of big gifs on one page.", | 		Description: "Serves a lot of big gifs on one page.", | ||||||
|  | |||||||
| @ -7,7 +7,7 @@ import "hnakra/service" | |||||||
| 
 | 
 | ||||||
| func main () { | func main () { | ||||||
| 	http.HandleFunc("/hello/", hellorld) | 	http.HandleFunc("/hello/", hellorld) | ||||||
| 	err := (&service.HTTP { Mount: service.Mount { | 	err := (&service.HTTP { Mount: service.MountConfig { | ||||||
| 		Path:        "/hello/", | 		Path:        "/hello/", | ||||||
| 		Name:        "Hellorld", | 		Name:        "Hellorld", | ||||||
| 		Description: "A test service.", | 		Description: "A test service.", | ||||||
|  | |||||||
| @ -7,7 +7,7 @@ import "hnakra/service" | |||||||
| 
 | 
 | ||||||
| func main () { | func main () { | ||||||
| 	http.HandleFunc("/kamikaze/", hellorld) | 	http.HandleFunc("/kamikaze/", hellorld) | ||||||
| 	err := (&service.HTTP { Mount: service.Mount { | 	err := (&service.HTTP { Mount: service.MountConfig { | ||||||
| 		Path:        "/kamikaze/", | 		Path:        "/kamikaze/", | ||||||
| 		Name:        "Kamikaze", | 		Name:        "Kamikaze", | ||||||
| 		Description: "A service that abrupltly closes upon any request, for testing", | 		Description: "A service that abrupltly closes upon any request, for testing", | ||||||
|  | |||||||
| @ -1,3 +1,4 @@ | |||||||
|  | // Package routines provides utilities for managing long-running goroutines. | ||||||
| package routines | package routines | ||||||
| 
 | 
 | ||||||
| import "io" | import "io" | ||||||
| @ -37,6 +38,7 @@ func (manager *Manager) Run () error { | |||||||
| 	 | 	 | ||||||
| 	for _, routine := range manager.Routines { | 	for _, routine := range manager.Routines { | ||||||
| 		if routine != nil { | 		if routine != nil { | ||||||
|  | 			println("yeah") | ||||||
| 			waitGroup.Add(1) | 			waitGroup.Add(1) | ||||||
| 			go manager.runRoutine(routine, &waitGroup, &errExit) | 			go manager.runRoutine(routine, &waitGroup, &errExit) | ||||||
| 		} | 		} | ||||||
|  | |||||||
| @ -26,8 +26,8 @@ func (service Service) Run () error { | |||||||
| 	// set up routine manager | 	// set up routine manager | ||||||
| 	manager := routines.Manager { RestartDeadline: time.Second * 8 } | 	manager := routines.Manager { RestartDeadline: time.Second * 8 } | ||||||
| 	manager.Routines = make([]routines.Routine, len(service)) | 	manager.Routines = make([]routines.Routine, len(service)) | ||||||
| 	for index, mount := range manager.Routines { | 	for index, mount := range service { | ||||||
| 		manager.Routines[index] = mount | 		manager.Routines[index] = mount.Run | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// send it | 	// send it | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user