Documentation ¶
Index ¶
- Constants
- Variables
- func GetPostEcho(w http.ResponseWriter, r *http.Request, method string)
- func WriteBadRequest(w http.ResponseWriter, r *http.Request, userMessage string)
- func WriteError(w http.ResponseWriter, r *http.Request, userMessage string, ...)
- func WriteJSON(w http.ResponseWriter, r *http.Request, payload interface{})
- func WriteResponse(w io.Writer, r *http.Request, resBytes []byte)
- func WriteServerError(w http.ResponseWriter, r *http.Request, err error)
- type API
- func (a *API) EnableCORS()
- func (a *API) GetInstagramUsers(w http.ResponseWriter, r *http.Request)
- func (a *API) GetNyTimesBestSellers(w http.ResponseWriter, r *http.Request)
- func (a *API) GetNyTimesBookCover(w http.ResponseWriter, r *http.Request)
- func (a *API) GetPolygon(w http.ResponseWriter, r *http.Request)
- func (a *API) GetProjectKeyValue(w http.ResponseWriter, r *http.Request)
- func (a *API) GetProxyURL(w http.ResponseWriter, r *http.Request)
- func (a *API) GetRandInstagramUser(w http.ResponseWriter, r *http.Request)
- func (a *API) GetRandInstagramUserByGender(w http.ResponseWriter, r *http.Request)
- func (a *API) GetRandTweet(w http.ResponseWriter, r *http.Request)
- func (a *API) GetRoot(w http.ResponseWriter, r *http.Request)
- func (a *API) GetTweets(w http.ResponseWriter, r *http.Request)
- func (a *API) PostFileUpload(w http.ResponseWriter, r *http.Request)
- func (a *API) PostInstagramSession(w http.ResponseWriter, r *http.Request)
- func (a *API) PostInstagramUser(w http.ResponseWriter, r *http.Request)
- func (a *API) PostTweet(w http.ResponseWriter, r *http.Request)
- func (a *API) SetProjectKeyValue(w http.ResponseWriter, r *http.Request)
- type APIVersion
- type ErrorMessage
- type InstagramUserService
- type NyTimesClient
- type PolygonClient
- type ProjectStoreService
- type ProxyURLClient
- type Router
- type S3Repository
- type StatusCode
- type TweetService
Constants ¶
View Source
const ( SiteRoot = "/" TweetsURI = "/v1/tweets" EchoURI = "/v1/form" RandTweetURI = "/v1/randTweet" InstagramUserURI = "/v1/instagram/users/{cseName}" InstagramRandUserURI = "/v1/instagram/users/random" InstagramRandUserGenderURI = "/v1/instagram/users/random/{gender}" InstagramSessionURI = "/v1/instagram/sessions/{cseName}" NYTimesBestSellersURI = "/v1/nyTimes/bestSellers" BookCoverURI = "/v1/nyTimes/bookCovers/{isbn}" FileUploadURI = "/v1/files" ProjectStoreURI = "/v1/projects/{groupName}/{keyName}" PolygonURI = "/v1/polygon" GetProxyURI = "/v1/getProxy/{url}" )
View Source
const (
InternalServerErrMessage = "Internal server error"
)
Variables ¶
View Source
var (
OK = &struct{}{}
)
Functions ¶
func GetPostEcho ¶
func GetPostEcho(w http.ResponseWriter, r *http.Request, method string)
func WriteBadRequest ¶
func WriteBadRequest(w http.ResponseWriter, r *http.Request, userMessage string)
func WriteError ¶
func WriteError(w http.ResponseWriter, r *http.Request, userMessage string, httpErrorCode StatusCode)
func WriteServerError ¶
func WriteServerError(w http.ResponseWriter, r *http.Request, err error)
Types ¶
type API ¶
type API struct { Router Router TweetService TweetService InstagramUserService InstagramUserService ProjectStoreService ProjectStoreService S3Repository S3Repository NyTimesClient NyTimesClient PolygonClient PolygonClient ProxyURLClient ProxyURLClient }
func NewAPIRouter ¶
func NewAPIRouter(httpRouter Router, tweetService TweetService, instagramUserService InstagramUserService, nyTimesClient NyTimesClient, polygonClient PolygonClient, proxyURLClient ProxyURLClient, projectStoreService ProjectStoreService, s3Repository S3Repository) *API
func (*API) EnableCORS ¶
func (a *API) EnableCORS()
func (*API) GetInstagramUsers ¶
func (a *API) GetInstagramUsers(w http.ResponseWriter, r *http.Request)
func (*API) GetNyTimesBestSellers ¶
func (a *API) GetNyTimesBestSellers(w http.ResponseWriter, r *http.Request)
func (*API) GetNyTimesBookCover ¶
func (a *API) GetNyTimesBookCover(w http.ResponseWriter, r *http.Request)
func (*API) GetPolygon ¶
func (a *API) GetPolygon(w http.ResponseWriter, r *http.Request)
func (*API) GetProjectKeyValue ¶
func (a *API) GetProjectKeyValue(w http.ResponseWriter, r *http.Request)
func (*API) GetProxyURL ¶
func (a *API) GetProxyURL(w http.ResponseWriter, r *http.Request)
func (*API) GetRandInstagramUser ¶
func (a *API) GetRandInstagramUser(w http.ResponseWriter, r *http.Request)
func (*API) GetRandInstagramUserByGender ¶
func (a *API) GetRandInstagramUserByGender(w http.ResponseWriter, r *http.Request)
func (*API) GetRandTweet ¶
func (a *API) GetRandTweet(w http.ResponseWriter, r *http.Request)
func (*API) PostFileUpload ¶
func (a *API) PostFileUpload(w http.ResponseWriter, r *http.Request)
func (*API) PostInstagramSession ¶
func (a *API) PostInstagramSession(w http.ResponseWriter, r *http.Request)
func (*API) PostInstagramUser ¶
func (a *API) PostInstagramUser(w http.ResponseWriter, r *http.Request)
func (*API) SetProjectKeyValue ¶
func (a *API) SetProjectKeyValue(w http.ResponseWriter, r *http.Request)
type APIVersion ¶
type ErrorMessage ¶
type InstagramUserService ¶
type InstagramUserService interface { AddUser(cseName string, user instagram.User) error GetUsers(string) []instagram.User GetRandProfile() instagram.RandomUser GetRandProfileByGender(gender string) instagram.RandomUser IsValidPassword(username string, passwordAttempt string, password string) bool }
type NyTimesClient ¶
type NyTimesClient interface { GetSimpleBestSellers() []nytimes.SimpleBook GetBookCoverURL(isbn string) nytimes.BookCoverURL }
type PolygonClient ¶
type ProjectStoreService ¶
type ProxyURLClient ¶
type S3Repository ¶
type StatusCode ¶
type StatusCode int
Click to show internal directories.
Click to hide internal directories.