in golang/go-guestbook/src/frontend/main.go [143:162]
func (f *frontendServer) saveMessage(author, message string) error {
entry := guestbookEntry{
Author: author,
Message: message,
}
body, err := json.Marshal(entry)
if err != nil {
return fmt.Errorf("failed to serialize message into json: %+v", err)
}
resp, err := http.Post(fmt.Sprintf("http://%s/messages", f.backendAddr), "application/json", bytes.NewReader(body))
if err != nil {
return fmt.Errorf("backend returned failure: %+v", err)
}
if resp.StatusCode != http.StatusOK {
return fmt.Errorf("unexpected status code from backend: %d %v", resp.StatusCode, resp.Status)
}
defer resp.Body.Close()
return nil
}