Codebase list golang-github-go-kit-kit / 909d2b8
Fixed README.md `ErrEmpty` was not declared For some reason io.writer and io.reader was used instead of http request and response bodies. I had to check against the example source code to find out why the README code wasn't working. John Nguyen 8 years ago
1 changed file(s) with 12 addition(s) and 9 deletion(s). Raw diff Collapse all Expand all
5555 func (stringService) Count(s string) int {
5656 return len(s)
5757 }
58
59 // ErrEmpty is returned when input string is empty
60 var ErrEmpty = errors.New("Empty string")
5861 ```
5962
6063 ### Requests and responses
147150 uppercaseHandler := httptransport.Server{
148151 Context: ctx,
149152 Endpoint: makeUppercaseEndpoint(svc),
150 DecodeFunc: decodeUppercaseRequest,
151 EncodeFunc: encodeResponse,
153 DecodeRequestFunc: decodeUppercaseRequest,
154 EncodeResponseFunc: encodeResponse,
152155 }
153156
154157 countHandler := httptransport.Server{
155158 Context: ctx,
156159 Endpoint: makeCountEndpoint(svc),
157 DecodeFunc: decodeCountRequest,
158 EncodeFunc: encodeResponse,
160 DecodeRequestFunc: decodeCountRequest,
161 EncodeResponseFunc: encodeResponse,
159162 }
160163
161164 http.Handle("/uppercase", uppercaseHandler)
163166 log.Fatal(http.ListenAndServe(":8080", nil))
164167 }
165168
166 func decodeUppercaseRequest(r io.Reader) (interface{}, error) {
169 func decodeUppercaseRequest(r *http.Request) (interface{}, error) {
167170 var request uppercaseRequest
168 if err := json.NewDecoder(r).Decode(&request); err != nil {
171 if err := json.NewDecoder(r.Body).Decode(&request); err != nil {
169172 return nil, err
170173 }
171174 return request, nil
172175 }
173176
174 func decodeCountRequest(r io.Reader) (interface{}, error) {
177 func decodeCountRequest(r *http.Request) (interface{}, error) {
175178 var request countRequest
176 if err := json.NewDecoder(r).Decode(&request); err != nil {
179 if err := json.NewDecoder(r.Body).Decode(&request); err != nil {
177180 return nil, err
178181 }
179182 return request, nil
180183 }
181184
182 func encodeResponse(w io.Writer, response interface{}) error {
185 func encodeResponse(w http.ResponseWritererr, response interface{}) error {
183186 return json.NewEncoder(w).Encode(response)
184187 }
185188 ```