GtugGoSandbox / goproj / positions / positions.go

package positions

import (
    "appengine"
    "appengine/user"
    "fmt"
    "http"
    "json"
    "rand"
)


type Position struct{
    Name string
    Location [2]float32
}

type Player struct{
    Name string
    Profession string
    Score int32
}

func init(){
    http.HandleFunc("/position/",handler)
    http.HandleFunc("/", defaultHandler)
}

func handler(w http.ResponseWriter,r *http.Request){
    c := appengine.NewContext(r)
    u := user.Current(c)
    if u == nil{
        url, err := user.LoginURL(c,r.URL.String())
        if err != nil{
            http.Error(w,err.String(),http.StatusInternalServerError)
            return
        }
        w.Header().Set("Location",url)
        w.WriteHeader(http.StatusFound)
        return
    }
    count := rand.Intn(30)
    parr := []Position{}
    for i := 1; i<=count; i++ {
        parr = append(parr,Position{u.String(),[2]float32{3.10593+rand.Float32(),101.66478+rand.Float32()}})
    }
    b,err := json.Marshal(parr)
    if err != nil{
        http.Error(w,err.String(),http.StatusInternalServerError)
        return
    }
    fmt.Fprint(w,string(b))
}

func action(w http.ResponseWriter.r *http.Request){
    
   fmt.Fprint(w,"Velociraptor")
}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.