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 ...

Get Go Programming Blueprints - Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.