Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2017 The LUCI Authors. | 1 // Copyright 2017 The LUCI Authors. |
| 2 // | 2 // |
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
| 5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
| 6 // | 6 // |
| 7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
| 8 // | 8 // |
| 9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
| 10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
| (...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 351 return | 351 return |
| 352 } | 352 } |
| 353 | 353 |
| 354 execCount, _ := strconv.Atoi(c.Request.Header.Get("X-AppEngine-TaskExecu tionCount")) | 354 execCount, _ := strconv.Atoi(c.Request.Header.Get("X-AppEngine-TaskExecu tionCount")) |
| 355 switch err = h.cb(c.Context, payload, execCount); { | 355 switch err = h.cb(c.Context, payload, execCount); { |
| 356 case err == nil: | 356 case err == nil: |
| 357 httpReply(c, true, 200, "OK") | 357 httpReply(c, true, 200, "OK") |
| 358 case transient.Tag.In(err): | 358 case transient.Tag.In(err): |
| 359 httpReply(c, false, 500, "Transient error: %s", err) | 359 httpReply(c, false, 500, "Transient error: %s", err) |
| 360 default: | 360 default: |
| 361 » » httpReply(c, false, 200, "Fatal error: %s", err) // return 200 t o stop retries | 361 » » httpReply(c, false, 500, "Fatal error: %s", err) // return 200 t o stop retries |
|
tandrii(chromium)
2017/07/21 13:42:52
btw, why this?
Vadim Sh.
2017/07/24 00:30:18
Forgot to undo before sending the CL :) Shouldn't
| |
| 362 } | 362 } |
| 363 } | 363 } |
| 364 | 364 |
| 365 func httpReply(c *router.Context, ok bool, code int, msg string, args ...interfa ce{}) { | 365 func httpReply(c *router.Context, ok bool, code int, msg string, args ...interfa ce{}) { |
| 366 body := fmt.Sprintf(msg, args...) | 366 body := fmt.Sprintf(msg, args...) |
| 367 if !ok { | 367 if !ok { |
| 368 logging.Errorf(c.Context, "%s", body) | 368 logging.Errorf(c.Context, "%s", body) |
| 369 } | 369 } |
| 370 http.Error(c.Writer, body, code) | 370 http.Error(c.Writer, body, code) |
| 371 } | 371 } |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 405 return nil, fmt.Errorf("no task body given") | 405 return nil, fmt.Errorf("no task body given") |
| 406 } | 406 } |
| 407 | 407 |
| 408 task := reflect.New(tp.Elem()).Interface().(proto.Message) | 408 task := reflect.New(tp.Elem()).Interface().(proto.Message) |
| 409 if err := jsonpb.Unmarshal(bytes.NewReader(*env.Body), task); err != nil { | 409 if err := jsonpb.Unmarshal(bytes.NewReader(*env.Body), task); err != nil { |
| 410 return nil, err | 410 return nil, err |
| 411 } | 411 } |
| 412 | 412 |
| 413 return task, nil | 413 return task, nil |
| 414 } | 414 } |
| OLD | NEW |