Handling endpoints
The final piece of the puzzle is the handlePolls
function, which will use the helpers to understand the incoming request and access the database and generate a meaningful response that will be sent back to the client. We also need to model the poll data that we were working with in the previous chapter.
Create a new file called polls.go
and add the following code:
package main import "gopkg.in/mgo.v2/bson" type poll struct { ID bson.ObjectId `bson:"_id" json:"id"` Title string `json:"title"` Options []string `json:"options"` Results map[string]int `json:"results,omitempty"` APIKey string `json:"apikey"` }
Here, we define a structure called poll
, which has five fields that in turn describe the polls being created and maintained by the code we wrote in the previous chapter. We have also added the APIKey
field, which you probably wouldn't do in the real world but which will allow us to demonstrate how we extract the API key...