From 3a166dbc9a95b2e9bc2f08ea68d4f9fee5943e41 Mon Sep 17 00:00:00 2001 From: Aaron Lindsay Date: Mon, 18 Mar 2013 07:17:44 -0400 Subject: [PATCH] Fix server error message, `go fmt` --- client/database.go | 2 +- client/net.go | 9 ++++----- server/longpolling.go | 2 +- server/server.go | 10 +++++++++- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/client/database.go b/client/database.go index b458f36..781f25d 100644 --- a/client/database.go +++ b/client/database.go @@ -11,7 +11,7 @@ import ( ) type AsinkDB struct { - db *sql.DB + db *sql.DB lock sync.Mutex } diff --git a/client/net.go b/client/net.go index 24b42ef..05c58e5 100644 --- a/client/net.go +++ b/client/net.go @@ -12,7 +12,7 @@ import ( "time" ) -const MIN_ERROR_WAIT = 100 // 1/10 of a second +const MIN_ERROR_WAIT = 100 // 1/10 of a second const MAX_ERROR_WAIT = 10000 // 10 seconds func SendEvent(globals AsinkGlobals, event *asink.Event) error { @@ -68,7 +68,7 @@ func GetEvents(globals AsinkGlobals, events chan *asink.Event) { } //query DB for latest remote event version number that we've seen locally - latestEvent, err := globals.db.DatabaseLatestRemoteEvent() + latestEvent, err := globals.db.DatabaseLatestRemoteEvent() if err != nil { panic(err) } @@ -77,7 +77,7 @@ func GetEvents(globals AsinkGlobals, events chan *asink.Event) { //query for events after latest_event var fullUrl string if latestEvent != nil { - fullUrl = url + strconv.FormatInt(latestEvent.Id + 1, 10) + fullUrl = url + strconv.FormatInt(latestEvent.Id+1, 10) } else { fullUrl = url + "0" } @@ -110,9 +110,8 @@ func GetEvents(globals AsinkGlobals, events chan *asink.Event) { continue } - for _, event := range apistatus.Events { - if latestEvent != nil && event.Id != latestEvent.Id + 1 { + if latestEvent != nil && event.Id != latestEvent.Id+1 { break } events <- event diff --git a/server/longpolling.go b/server/longpolling.go index 6355590..bf174b9 100644 --- a/server/longpolling.go +++ b/server/longpolling.go @@ -42,7 +42,7 @@ func addPoller(uid string, channel *chan *asink.Event) { } //set timer to call function after one minute - timeout := time.Duration(1)*time.Minute + timeout := time.Duration(1) * time.Minute time.AfterFunc(timeout, func() { group.lock.Lock() for i, c := range group.channels { diff --git a/server/server.go b/server/server.go index 788a052..a023c9a 100644 --- a/server/server.go +++ b/server/server.go @@ -128,6 +128,9 @@ func putEvents(w http.ResponseWriter, r *http.Request) { for _, event := range events.Events { err = DatabaseAddEvent(db, event) if err != nil { + //TODO should probably do this in a way that the caller knows how many of these have failed and doesn't re-try sending ones that succeeded + //i.e. add this to the return codes or something + //OR put all the DatabaseAddEvent's inside a SQL transaction, and rollback on any failure error_message = err.Error() return } @@ -154,6 +157,11 @@ func eventHandler(w http.ResponseWriter, r *http.Request) { } else if r.Method == "POST" { putEvents(w, r) } else { - fmt.Fprintf(w, "You f-ed up.") + apiresponse := asink.APIResponse{ + Status: asink.ERROR, + Explanation: "Invalid HTTP method - only GET and POST are supported on this endpoint.", + } + b, _ := json.Marshal(apiresponse) + w.Write(b) } }