diff --git a/examples/arcchallenge.go b/examples/arcchallenge.go deleted file mode 100644 index 1de600c2..00000000 --- a/examples/arcchallenge.go +++ /dev/null @@ -1,33 +0,0 @@ -package main - -import ( - "fmt" - "github.com/hoisie/web" - "math/rand" - "time" -) - -var form = `
` - -var users = map[string]string{} - -func main() { - rand.Seed(time.Now().UnixNano()) - web.Config.CookieSecret = "7C19QRmwf3mHZ9CPAaPQ0hsWeufKd" - web.Get("/", func(ctx *web.Context) string { - ctx.Redirect(302, "/said") - return "" - }) - web.Get("/said", func() string { return form }) - web.Post("/say", func(ctx *web.Context) string { - uid := fmt.Sprintf("%d\n", rand.Int63()) - ctx.SetSecureCookie("user", uid, 3600) - users[uid] = ctx.Params["said"] - return `Click Here` - }) - web.Get("/final", func(ctx *web.Context) string { - uid, _ := ctx.GetSecureCookie("user") - return "You said " + users[uid] - }) - web.Run("0.0.0.0:9999") -} diff --git a/examples/cookie.go b/examples/cookie.go deleted file mode 100644 index e686c767..00000000 --- a/examples/cookie.go +++ /dev/null @@ -1,51 +0,0 @@ -package main - -import ( - "fmt" - "github.com/hoisie/web" - "html" -) - -var cookieName = "cookie" - -var notice = ` -
%v
-` -var form = ` -
-
- - -
- - - -
-` - -func index(ctx *web.Context) string { - cookie, _ := ctx.Request.Cookie(cookieName) - var top string - if cookie == nil { - top = fmt.Sprintf(notice, "The cookie has not been set") - } else { - var val = html.EscapeString(cookie.Value) - top = fmt.Sprintf(notice, "The value of the cookie is '"+val+"'.") - } - return top + form -} - -func update(ctx *web.Context) { - if ctx.Params["submit"] == "Delete" { - ctx.SetCookie(web.NewCookie(cookieName, "", -1)) - } else { - ctx.SetCookie(web.NewCookie(cookieName, ctx.Params["cookie"], 0)) - } - ctx.Redirect(301, "/") -} - -func main() { - web.Get("/", index) - web.Post("/update", update) - web.Run("0.0.0.0:9999") -} diff --git a/examples/hello.go b/examples/hello.go deleted file mode 100644 index d502391a..00000000 --- a/examples/hello.go +++ /dev/null @@ -1,12 +0,0 @@ -package main - -import ( - "github.com/hoisie/web" -) - -func hello(val string) string { return "hello " + val } - -func main() { - web.Get("/(.*)", hello) - web.Run("0.0.0.0:9999") -} diff --git a/examples/logger.go b/examples/logger.go deleted file mode 100644 index f684261a..00000000 --- a/examples/logger.go +++ /dev/null @@ -1,21 +0,0 @@ -package main - -import ( - "github.com/hoisie/web" - "log" - "os" -) - -func hello(val string) string { return "hello " + val } - -func main() { - f, err := os.Create("server.log") - if err != nil { - println(err.Error()) - return - } - logger := log.New(f, "", log.Ldate|log.Ltime) - web.Get("/(.*)", hello) - web.SetLogger(logger) - web.Run("0.0.0.0:9999") -} diff --git a/examples/multipart.go b/examples/multipart.go deleted file mode 100644 index d89e514e..00000000 --- a/examples/multipart.go +++ /dev/null @@ -1,62 +0,0 @@ -package main - -import ( - "bytes" - "crypto/md5" - "fmt" - "github.com/hoisie/web" - "io" -) - -func Md5(r io.Reader) string { - hash := md5.New() - io.Copy(hash, r) - return fmt.Sprintf("%x", hash.Sum(nil)) -} - -var page = ` - -Multipart Test - -
- - - -
- - -
- - -
- -
- - -` - -func index() string { return page } - -func multipart(ctx *web.Context) string { - ctx.Request.ParseMultipartForm(10 * 1024 * 1024) - form := ctx.Request.MultipartForm - var output bytes.Buffer - output.WriteString("

input1: " + form.Value["input1"][0] + "

") - output.WriteString("

input2: " + form.Value["input2"][0] + "

") - - fileHeader := form.File["file"][0] - filename := fileHeader.Filename - file, err := fileHeader.Open() - if err != nil { - return err.Error() - } - - output.WriteString("

file: " + filename + " " + Md5(file) + "

") - return output.String() -} - -func main() { - web.Get("/", index) - web.Post("/multipart", multipart) - web.Run("0.0.0.0:9999") -} diff --git a/examples/multiserver.go b/examples/multiserver.go deleted file mode 100644 index 354b563e..00000000 --- a/examples/multiserver.go +++ /dev/null @@ -1,20 +0,0 @@ -package main - -import ( - "github.com/hoisie/web" -) - -func hello1(val string) string { return "hello1 " + val } - -func hello2(val string) string { return "hello2 " + val } - -func main() { - var server1 web.Server - var server2 web.Server - - server1.Get("/(.*)", hello1) - go server1.Run("0.0.0.0:9999") - server2.Get("/(.*)", hello2) - go server2.Run("0.0.0.0:8999") - <-make(chan int) -} diff --git a/examples/params.go b/examples/params.go deleted file mode 100644 index dc396a1b..00000000 --- a/examples/params.go +++ /dev/null @@ -1,43 +0,0 @@ -package main - -import ( - "fmt" - "github.com/hoisie/web" -) - -var page = ` - -Multipart Test - -
- - - -
- - -
- - -
- - -
- - -
- - -` - -func index() string { return page } - -func process(ctx *web.Context) string { - return fmt.Sprintf("%v\n", ctx.Params) -} - -func main() { - web.Get("/", index) - web.Post("/process", process) - web.Run("0.0.0.0:9999") -} diff --git a/examples/streaming.go b/examples/streaming.go deleted file mode 100644 index e17ab372..00000000 --- a/examples/streaming.go +++ /dev/null @@ -1,24 +0,0 @@ -package main - -import ( - "github.com/hoisie/web" - "net/http" - "strconv" - "time" -) - -func hello(ctx *web.Context, num string) { - flusher, _ := ctx.ResponseWriter.(http.Flusher) - flusher.Flush() - n, _ := strconv.ParseInt(num, 10, 64) - for i := int64(0); i < n; i++ { - ctx.WriteString("
hello world
") - flusher.Flush() - time.Sleep(1e9) - } -} - -func main() { - web.Get("/([0-9]+)", hello) - web.Run("0.0.0.0:9999") -} diff --git a/examples/tls.go b/examples/tls.go deleted file mode 100644 index 7517fe61..00000000 --- a/examples/tls.go +++ /dev/null @@ -1,68 +0,0 @@ -package main - -import ( - "crypto/tls" - "github.com/hoisie/web" -) - -// an arbitrary self-signed certificate, generated with -// `openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout cert.pem -out cert.pem` - -var pkey = `-----BEGIN RSA PRIVATE KEY----- -MIICXAIBAAKBgQDVBUw40q0zpF/zWzwBf0GFkXmnkw+YCNTiV8l7mso1DCv/VTYM -cqtvy0g2KNBV7SFLC+NHuxJkNOAtJ8Fxx1EpeIw5A3KeCRNb4lo6ecAkuDLiPYGO -qgAqjj8QmhmZA68qTIuWGYM1FTtUK3wO4wrHnqHEjs3cWNghmby6AgLHVQIDAQAB -AoGAcy5GJINlu4KpjwBJ1dVlLD+YtA9EY0SDN0+YVglARKasM4dzjg+CuxQDm6U9 -4PgzBE0NO3/fVedxP3k7k7XeH73PosaxjWpfMawXR3wSLFKJBwxux/8gNdzeGRHN -X1sYsJ70WiZLFOAPQ9jctF1ejUP6fpLHsti6ZHQj/R1xqBECQQDrHxmpMoviQL6n -4CBR4HvlIRtd4Qr21IGEXtbjIcC5sgbkfne6qhqdv9/zxsoiPTi0859cr704Mf3y -cA8LZ8c3AkEA5+/KjSoqgzPaUnvPZ0p9TNx6odxMsd5h1AMIVIbZPT6t2vffCaZ7 -R0ffim/KeWfoav8u9Cyz8eJpBG6OHROT0wJBAML54GLCCuROAozePI8JVFS3NqWM -OHZl1R27NAHYfKTBMBwNkCYYZ8gHVKUoZXktQbg1CyNmjMhsFIYWTTONFNMCQFsL -eBld2f5S1nrWex3y0ajgS4tKLRkNUJ2m6xgzLwepmRmBf54MKgxbHFb9dx+dOFD4 -Bvh2q9RhqhPBSiwDyV0CQBxN3GPbaa8V7eeXBpBYO5Evy4VxSWJTpgmMDtMH+RUp -9eAJ8rUyhZ2OaElg1opGCRemX98s/o2R5JtzZvOx7so= ------END RSA PRIVATE KEY----- -` - -var cert = `-----BEGIN CERTIFICATE----- -MIIDXDCCAsWgAwIBAgIJAJqbbWPZgt0sMA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNV -BAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEPMA0G -A1UEChMGV2ViLmdvMRcwFQYDVQQDEw5NaWNoYWVsIEhvaXNpZTEfMB0GCSqGSIb3 -DQEJARYQaG9pc2llQGdtYWlsLmNvbTAeFw0xMzA0MDgxNjIzMDVaFw0xNDA0MDgx -NjIzMDVaMH0xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNU2Fu -IEZyYW5jaXNjbzEPMA0GA1UEChMGV2ViLmdvMRcwFQYDVQQDEw5NaWNoYWVsIEhv -aXNpZTEfMB0GCSqGSIb3DQEJARYQaG9pc2llQGdtYWlsLmNvbTCBnzANBgkqhkiG -9w0BAQEFAAOBjQAwgYkCgYEA1QVMONKtM6Rf81s8AX9BhZF5p5MPmAjU4lfJe5rK -NQwr/1U2DHKrb8tINijQVe0hSwvjR7sSZDTgLSfBccdRKXiMOQNyngkTW+JaOnnA -JLgy4j2BjqoAKo4/EJoZmQOvKkyLlhmDNRU7VCt8DuMKx56hxI7N3FjYIZm8ugIC -x1UCAwEAAaOB4zCB4DAdBgNVHQ4EFgQURizcvrgUl8yhIEQvJT/1b5CzV8MwgbAG -A1UdIwSBqDCBpYAURizcvrgUl8yhIEQvJT/1b5CzV8OhgYGkfzB9MQswCQYDVQQG -EwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xDzANBgNV -BAoTBldlYi5nbzEXMBUGA1UEAxMOTWljaGFlbCBIb2lzaWUxHzAdBgkqhkiG9w0B -CQEWEGhvaXNpZUBnbWFpbC5jb22CCQCam21j2YLdLDAMBgNVHRMEBTADAQH/MA0G -CSqGSIb3DQEBBQUAA4GBAGBPoVCReGMO1FrsIeVrPV/N6pSK7H3PLdxm7gmmvnO9 -K/LK0OKIT7UL3eus+eh0gt0/Tv/ksq4nSIzXBLPKyPggLmpC6Agf3ydNTpdLQ23J -gWrxykqyLToIiAuL+pvC3Jv8IOPIiVFsY032rOqcwSGdVUyhTsG28+7KnR6744tM ------END CERTIFICATE----- -` - -func hello(val string) string { return "hello " + val } - -func main() { - config := tls.Config{ - Time: nil, - } - - config.Certificates = make([]tls.Certificate, 1) - var err error - config.Certificates[0], err = tls.X509KeyPair([]byte(cert), []byte(pkey)) - if err != nil { - println(err.Error()) - return - } - - // you must access the server with an HTTP address, i.e https://localhost:9999/world - web.Get("/(.*)", hello) - web.RunTLS("0.0.0.0:9999", &config) -}