Summary
In this chapter, we exposed the data for our social polling solution through a highly scalable RESTful API and built a simple website that consumes the API to provide an intuitive way for users to interact with it. The website consists of static content only, with no server-side processing (since the API does the heavy lifting for us). This allows us to host the website very cheaply on static hosting sites, such as bitballoon.com, or distribute the files to content delivery networks.
Within our API service, we learned how to share data between handlers without breaking or obfuscating the handler pattern from the standard library. We also saw how writing wrapped handler functions allows us to build a pipeline of functionality in a very simple and intuitive way.
We wrote some basic encoding and decoding functions that –while only simply wrapping their counterparts from the encoding/json
package for now –could be improved later to support a range of different data representations without...