Compare commits

...

2 Commits

Author SHA1 Message Date
Sasha Koshka 9025844212 Update examples to match 2023-05-26 20:27:59 -04:00
Sasha Koshka 5d5d58544f Add doc comment to routines package 2023-05-26 20:04:03 -04:00
6 changed files with 19 additions and 18 deletions

View File

@ -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 {

View File

@ -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.",

View File

@ -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.",

View File

@ -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",

View File

@ -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)
}

View File

@ -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