Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Package dumb_counter provides access to the . | |
|
dnj
2015/06/08 16:43:17
Access to the what!? I can't handle the suspense.
iannucci
2015/06/09 00:01:53
Indeed :)
| |
| 2 // | |
| 3 // Usage example: | |
| 4 // | |
| 5 // import "google.golang.org/api/dumb_counter/v1" | |
| 6 // ... | |
| 7 // dumb_counterService, err := dumb_counter.New(oauthHttpClient) | |
| 8 package dumb_counter | |
| 9 | |
| 10 import ( | |
| 11 "bytes" | |
| 12 "encoding/json" | |
| 13 "errors" | |
| 14 "fmt" | |
| 15 "golang.org/x/net/context" | |
| 16 "google.golang.org/api/googleapi" | |
| 17 "io" | |
| 18 "net/http" | |
| 19 "net/url" | |
| 20 "strconv" | |
| 21 "strings" | |
| 22 ) | |
| 23 | |
| 24 // Always reference these packages, just in case the auto-generated code | |
| 25 // below doesn't. | |
| 26 var _ = bytes.NewBuffer | |
| 27 var _ = strconv.Itoa | |
| 28 var _ = fmt.Sprintf | |
| 29 var _ = json.NewDecoder | |
| 30 var _ = io.Copy | |
| 31 var _ = url.Parse | |
| 32 var _ = googleapi.Version | |
| 33 var _ = errors.New | |
| 34 var _ = strings.Replace | |
| 35 var _ = context.Background | |
| 36 | |
| 37 const apiId = "dumb_counter:v1" | |
| 38 const apiName = "dumb_counter" | |
| 39 const apiVersion = "v1" | |
| 40 const basePath = "http://localhost:8080/_ah/api/dumb_counter/v1/" | |
| 41 | |
| 42 func New(client *http.Client) (*Service, error) { | |
| 43 if client == nil { | |
| 44 return nil, errors.New("client is nil") | |
| 45 } | |
| 46 s := &Service{client: client, BasePath: basePath} | |
| 47 return s, nil | |
| 48 } | |
| 49 | |
| 50 type Service struct { | |
| 51 client *http.Client | |
| 52 BasePath string // API endpoint base URL | |
| 53 UserAgent string // optional additional User-Agent fragment | |
| 54 } | |
| 55 | |
| 56 func (s *Service) userAgent() string { | |
| 57 if s.UserAgent == "" { | |
| 58 return googleapi.UserAgent | |
| 59 } | |
| 60 return googleapi.UserAgent + " " + s.UserAgent | |
| 61 } | |
| 62 | |
| 63 type AddReq struct { | |
| 64 Delta int64 `json:"Delta,omitempty,string"` | |
| 65 | |
| 66 Name string `json:"Name,omitempty"` | |
| 67 } | |
| 68 | |
| 69 type AddRsp struct { | |
| 70 Cur int64 `json:"Cur,omitempty,string"` | |
| 71 | |
| 72 Prev int64 `json:"Prev,omitempty,string"` | |
| 73 } | |
| 74 | |
| 75 type CASReq struct { | |
| 76 Name string `json:"Name,omitempty"` | |
| 77 | |
| 78 NewVal int64 `json:"NewVal,omitempty,string"` | |
| 79 | |
| 80 OldVal int64 `json:"OldVal,omitempty,string"` | |
| 81 } | |
| 82 | |
| 83 type Counter struct { | |
| 84 ID string `json:"ID,omitempty"` | |
| 85 | |
| 86 Val int64 `json:"Val,omitempty,string"` | |
| 87 } | |
| 88 | |
| 89 type CurrentValueRsp struct { | |
| 90 Val int64 `json:"Val,omitempty,string"` | |
| 91 } | |
| 92 | |
| 93 type ListRsp struct { | |
| 94 Counters []*Counter `json:"Counters,omitempty"` | |
| 95 } | |
| 96 | |
| 97 // method id "dumb_counter.add": | |
| 98 | |
| 99 type AddCall struct { | |
| 100 s *Service | |
| 101 Name string | |
| 102 addreq *AddReq | |
| 103 opt_ map[string]interface{} | |
| 104 } | |
| 105 | |
| 106 // Add: Add an an amount to a particular counter | |
| 107 func (s *Service) Add(Name string, addreq *AddReq) *AddCall { | |
| 108 c := &AddCall{s: s, opt_: make(map[string]interface{})} | |
| 109 c.Name = Name | |
| 110 c.addreq = addreq | |
| 111 return c | |
| 112 } | |
| 113 | |
| 114 // Fields allows partial responses to be retrieved. | |
| 115 // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | |
| 116 // for more information. | |
| 117 func (c *AddCall) Fields(s ...googleapi.Field) *AddCall { | |
| 118 c.opt_["fields"] = googleapi.CombineFields(s) | |
| 119 return c | |
| 120 } | |
| 121 | |
| 122 func (c *AddCall) Do() (*AddRsp, error) { | |
| 123 var body io.Reader = nil | |
| 124 body, err := googleapi.WithoutDataWrapper.JSONReader(c.addreq) | |
| 125 if err != nil { | |
| 126 return nil, err | |
| 127 } | |
| 128 ctype := "application/json" | |
| 129 params := make(url.Values) | |
| 130 params.Set("alt", "json") | |
| 131 if v, ok := c.opt_["fields"]; ok { | |
| 132 params.Set("fields", fmt.Sprintf("%v", v)) | |
| 133 } | |
| 134 urls := googleapi.ResolveRelative(c.s.BasePath, "counter/{Name}") | |
| 135 urls += "?" + params.Encode() | |
| 136 req, _ := http.NewRequest("POST", urls, body) | |
| 137 googleapi.Expand(req.URL, map[string]string{ | |
| 138 "Name": c.Name, | |
| 139 }) | |
| 140 req.Header.Set("Content-Type", ctype) | |
| 141 req.Header.Set("User-Agent", c.s.userAgent()) | |
| 142 res, err := c.s.client.Do(req) | |
| 143 if err != nil { | |
| 144 return nil, err | |
| 145 } | |
| 146 defer googleapi.CloseBody(res) | |
| 147 if err := googleapi.CheckResponse(res); err != nil { | |
| 148 return nil, err | |
| 149 } | |
| 150 var ret *AddRsp | |
| 151 if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { | |
| 152 return nil, err | |
| 153 } | |
| 154 return ret, nil | |
| 155 // { | |
| 156 // "description": "Add an an amount to a particular counter", | |
| 157 // "httpMethod": "POST", | |
| 158 // "id": "dumb_counter.add", | |
| 159 // "parameterOrder": [ | |
| 160 // "Name" | |
| 161 // ], | |
| 162 // "parameters": { | |
| 163 // "Name": { | |
| 164 // "location": "path", | |
| 165 // "required": true, | |
| 166 // "type": "string" | |
| 167 // } | |
| 168 // }, | |
| 169 // "path": "counter/{Name}", | |
| 170 // "request": { | |
| 171 // "$ref": "AddReq", | |
| 172 // "parameterName": "resource" | |
| 173 // }, | |
| 174 // "response": { | |
| 175 // "$ref": "AddRsp" | |
| 176 // } | |
| 177 // } | |
| 178 | |
| 179 } | |
| 180 | |
| 181 // method id "dumb_counter.cas": | |
| 182 | |
| 183 type CasCall struct { | |
| 184 s *Service | |
| 185 Name string | |
| 186 casreq *CASReq | |
| 187 opt_ map[string]interface{} | |
| 188 } | |
| 189 | |
| 190 // Cas: Compare and swap a counter value | |
| 191 func (s *Service) Cas(Name string, casreq *CASReq) *CasCall { | |
| 192 c := &CasCall{s: s, opt_: make(map[string]interface{})} | |
| 193 c.Name = Name | |
| 194 c.casreq = casreq | |
| 195 return c | |
| 196 } | |
| 197 | |
| 198 // Fields allows partial responses to be retrieved. | |
| 199 // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | |
| 200 // for more information. | |
| 201 func (c *CasCall) Fields(s ...googleapi.Field) *CasCall { | |
| 202 c.opt_["fields"] = googleapi.CombineFields(s) | |
| 203 return c | |
| 204 } | |
| 205 | |
| 206 func (c *CasCall) Do() error { | |
| 207 var body io.Reader = nil | |
| 208 body, err := googleapi.WithoutDataWrapper.JSONReader(c.casreq) | |
| 209 if err != nil { | |
| 210 return err | |
| 211 } | |
| 212 ctype := "application/json" | |
| 213 params := make(url.Values) | |
| 214 params.Set("alt", "json") | |
| 215 if v, ok := c.opt_["fields"]; ok { | |
| 216 params.Set("fields", fmt.Sprintf("%v", v)) | |
| 217 } | |
| 218 urls := googleapi.ResolveRelative(c.s.BasePath, "counter/{Name}/cas") | |
| 219 urls += "?" + params.Encode() | |
| 220 req, _ := http.NewRequest("POST", urls, body) | |
| 221 googleapi.Expand(req.URL, map[string]string{ | |
| 222 "Name": c.Name, | |
| 223 }) | |
| 224 req.Header.Set("Content-Type", ctype) | |
| 225 req.Header.Set("User-Agent", c.s.userAgent()) | |
| 226 res, err := c.s.client.Do(req) | |
| 227 if err != nil { | |
| 228 return err | |
| 229 } | |
| 230 defer googleapi.CloseBody(res) | |
| 231 if err := googleapi.CheckResponse(res); err != nil { | |
| 232 return err | |
| 233 } | |
| 234 return nil | |
| 235 // { | |
| 236 // "description": "Compare and swap a counter value", | |
| 237 // "httpMethod": "POST", | |
| 238 // "id": "dumb_counter.cas", | |
| 239 // "parameterOrder": [ | |
| 240 // "Name" | |
| 241 // ], | |
| 242 // "parameters": { | |
| 243 // "Name": { | |
| 244 // "location": "path", | |
| 245 // "required": true, | |
| 246 // "type": "string" | |
| 247 // } | |
| 248 // }, | |
| 249 // "path": "counter/{Name}/cas", | |
| 250 // "request": { | |
| 251 // "$ref": "CASReq", | |
| 252 // "parameterName": "resource" | |
| 253 // } | |
| 254 // } | |
| 255 | |
| 256 } | |
| 257 | |
| 258 // method id "dumb_counter.currentvalue": | |
| 259 | |
| 260 type CurrentvalueCall struct { | |
| 261 s *Service | |
| 262 Name string | |
| 263 opt_ map[string]interface{} | |
| 264 } | |
| 265 | |
| 266 // Currentvalue: Returns the current value held by the named counter | |
| 267 func (s *Service) Currentvalue(Name string) *CurrentvalueCall { | |
| 268 c := &CurrentvalueCall{s: s, opt_: make(map[string]interface{})} | |
| 269 c.Name = Name | |
| 270 return c | |
| 271 } | |
| 272 | |
| 273 // Fields allows partial responses to be retrieved. | |
| 274 // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | |
| 275 // for more information. | |
| 276 func (c *CurrentvalueCall) Fields(s ...googleapi.Field) *CurrentvalueCall { | |
| 277 c.opt_["fields"] = googleapi.CombineFields(s) | |
| 278 return c | |
| 279 } | |
| 280 | |
| 281 func (c *CurrentvalueCall) Do() (*CurrentValueRsp, error) { | |
| 282 var body io.Reader = nil | |
| 283 params := make(url.Values) | |
| 284 params.Set("alt", "json") | |
| 285 if v, ok := c.opt_["fields"]; ok { | |
| 286 params.Set("fields", fmt.Sprintf("%v", v)) | |
| 287 } | |
| 288 urls := googleapi.ResolveRelative(c.s.BasePath, "counter/{Name}") | |
| 289 urls += "?" + params.Encode() | |
| 290 req, _ := http.NewRequest("GET", urls, body) | |
| 291 googleapi.Expand(req.URL, map[string]string{ | |
| 292 "Name": c.Name, | |
| 293 }) | |
| 294 req.Header.Set("User-Agent", c.s.userAgent()) | |
| 295 res, err := c.s.client.Do(req) | |
| 296 if err != nil { | |
| 297 return nil, err | |
| 298 } | |
| 299 defer googleapi.CloseBody(res) | |
| 300 if err := googleapi.CheckResponse(res); err != nil { | |
| 301 return nil, err | |
| 302 } | |
| 303 var ret *CurrentValueRsp | |
| 304 if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { | |
| 305 return nil, err | |
| 306 } | |
| 307 return ret, nil | |
| 308 // { | |
| 309 // "description": "Returns the current value held by the named counter ", | |
| 310 // "httpMethod": "GET", | |
| 311 // "id": "dumb_counter.currentvalue", | |
| 312 // "parameterOrder": [ | |
| 313 // "Name" | |
| 314 // ], | |
| 315 // "parameters": { | |
| 316 // "Name": { | |
| 317 // "location": "path", | |
| 318 // "required": true, | |
| 319 // "type": "string" | |
| 320 // } | |
| 321 // }, | |
| 322 // "path": "counter/{Name}", | |
| 323 // "response": { | |
| 324 // "$ref": "CurrentValueRsp" | |
| 325 // } | |
| 326 // } | |
| 327 | |
| 328 } | |
| 329 | |
| 330 // method id "dumb_counter.list": | |
| 331 | |
| 332 type ListCall struct { | |
| 333 s *Service | |
| 334 opt_ map[string]interface{} | |
| 335 } | |
| 336 | |
| 337 // List: Returns all of the available counters | |
| 338 func (s *Service) List() *ListCall { | |
| 339 c := &ListCall{s: s, opt_: make(map[string]interface{})} | |
| 340 return c | |
| 341 } | |
| 342 | |
| 343 // Fields allows partial responses to be retrieved. | |
| 344 // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | |
| 345 // for more information. | |
| 346 func (c *ListCall) Fields(s ...googleapi.Field) *ListCall { | |
| 347 c.opt_["fields"] = googleapi.CombineFields(s) | |
| 348 return c | |
| 349 } | |
| 350 | |
| 351 func (c *ListCall) Do() (*ListRsp, error) { | |
| 352 var body io.Reader = nil | |
| 353 params := make(url.Values) | |
| 354 params.Set("alt", "json") | |
| 355 if v, ok := c.opt_["fields"]; ok { | |
| 356 params.Set("fields", fmt.Sprintf("%v", v)) | |
| 357 } | |
| 358 urls := googleapi.ResolveRelative(c.s.BasePath, "counter") | |
| 359 urls += "?" + params.Encode() | |
| 360 req, _ := http.NewRequest("GET", urls, body) | |
| 361 googleapi.SetOpaque(req.URL) | |
| 362 req.Header.Set("User-Agent", c.s.userAgent()) | |
| 363 res, err := c.s.client.Do(req) | |
| 364 if err != nil { | |
| 365 return nil, err | |
| 366 } | |
| 367 defer googleapi.CloseBody(res) | |
| 368 if err := googleapi.CheckResponse(res); err != nil { | |
| 369 return nil, err | |
| 370 } | |
| 371 var ret *ListRsp | |
| 372 if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { | |
| 373 return nil, err | |
| 374 } | |
| 375 return ret, nil | |
| 376 // { | |
| 377 // "description": "Returns all of the available counters", | |
| 378 // "httpMethod": "GET", | |
| 379 // "id": "dumb_counter.list", | |
| 380 // "path": "counter", | |
| 381 // "response": { | |
| 382 // "$ref": "ListRsp" | |
| 383 // } | |
| 384 // } | |
| 385 | |
| 386 } | |
| OLD | NEW |