Skip to content

Instantly share code, notes, and snippets.

@suzuken
Created March 8, 2014 07:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save suzuken/9426815 to your computer and use it in GitHub Desktop.
Save suzuken/9426815 to your computer and use it in GitHub Desktop.
package main
import (
"fmt"
"net/http"
)
type String string
type Struct struct {
Greeting string
Punct string
Who string
}
func (s String) ServeHTTP(
w http.ResponseWriter,
r *http.Request) {
fmt.Fprint(w, s)
}
func (s Struct) ServeHTTP(
w http.ResponseWriter,
r *http.Request) {
fmt.Fprint(w, s.Greeting+s.Punct+s.Who)
}
func main() {
// your http.Handle calls here
http.Handle("/string", String("I'm a frayed knot."))
http.Handle("/struct", &Struct{"Hello", ":", "Gophers!"})
http.ListenAndServe("localhost:4000", nil)
}
@suzuken
Copy link
Author

suzuken commented Mar 8, 2014

-> % http localhost:4000/string
HTTP/1.1 200 OK
Content-Length: 18
Content-Type: text/plain; charset=utf-8
Date: Sat, 08 Mar 2014 07:33:51 GMT

I'm a frayed knot.

-> % http localhost:4000/struct
HTTP/1.1 200 OK
Content-Length: 14
Content-Type: text/plain; charset=utf-8
Date: Sat, 08 Mar 2014 07:33:54 GMT

Hello:Gophers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment