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