~mandel/bacchus/rhythmbox-client

« back to all changes in this revision

Viewing changes to server-ubuntu/server/src/bacchus/serv/serv.go

  • Committer: C Miller
  • Date: 2013-10-17 21:03:00 UTC
  • Revision ID: bzrdev@chad.org-20131017210300-wusg3oamogo1c1d4
Abandon Python. Use Go.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package main
 
2
 
 
3
import (
 
4
        "fmt"
 
5
        "net/http"
 
6
        "log"
 
7
        "html/template"
 
8
        //"error"
 
9
        "os"
 
10
        "strconv"
 
11
        //"path"
 
12
        //"io"
 
13
)
 
14
 
 
15
 
 
16
type Page struct {
 
17
        Help []byte
 
18
        Queue [][]byte
 
19
}
 
20
 
 
21
 
 
22
func homeHandler(w http.ResponseWriter, req *http.Request) {
 
23
        if req.Method == "GET" {
 
24
                p, err := loadPage("templates/home.html")
 
25
                if err != nil {
 
26
                        p = &Page{Help: []byte("all okay")}
 
27
                }
 
28
                t, _ := template.ParseFiles("edit.html")
 
29
                t.Execute(w, p)
 
30
        } else {
 
31
                fmt.Fprintf(w, "No")
 
32
        }
 
33
}
 
34
 
 
35
func uploaderHandler(w http.ResponseWriter, req *http.Request) {
 
36
        if req.Method == "PUT" {
 
37
                fmt.Fprintf(w, "YESPLEASE")
 
38
        } else {
 
39
                fmt.Fprintf(w, "no")
 
40
        }
 
41
}
 
42
 
 
43
func main() {
 
44
        if len(os.Args) < 2 {
 
45
                log.Fatal("Port number required.")
 
46
                return
 
47
        }
 
48
        var port, err = strconv.ParseUint(os.Args[1], 10, 32)
 
49
 
 
50
        if err != nil {
 
51
                log.Fatal("Invalid port number as arg.")
 
52
                return
 
53
        }
 
54
 
 
55
        http.HandleFunc("/", homeHandler)
 
56
        http.HandleFunc("/add", uploaderHandler)
 
57
        log.Fatal(http.ListenAndServe(fmt.Sprintf(":%d", port), nil))
 
58
}