| OLD | NEW |
| 1 // Copyright 2015 The LUCI Authors. All rights reserved. | 1 // Copyright 2015 The LUCI Authors. All rights reserved. |
| 2 // Use of this source code is governed under the Apache License, Version 2.0 | 2 // Use of this source code is governed under the Apache License, Version 2.0 |
| 3 // that can be found in the LICENSE file. | 3 // that can be found in the LICENSE file. |
| 4 | 4 |
| 5 package swarming | 5 package swarming |
| 6 | 6 |
| 7 import ( | 7 import ( |
| 8 "errors" | 8 "errors" |
| 9 "fmt" | 9 "fmt" |
| 10 "net/http" | 10 "net/http" |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 common.ErrorPage(c, http.StatusBadRequest, | 107 common.ErrorPage(c, http.StatusBadRequest, |
| 108 fmt.Sprintf("no swarming host: %s", err.Error())) | 108 fmt.Sprintf("no swarming host: %s", err.Error())) |
| 109 return | 109 return |
| 110 } | 110 } |
| 111 sf, err := NewProdService(c.Context, hostname) | 111 sf, err := NewProdService(c.Context, hostname) |
| 112 if err != nil { | 112 if err != nil { |
| 113 common.ErrorPage(c, errCode(err), err.Error()) | 113 common.ErrorPage(c, errCode(err), err.Error()) |
| 114 return | 114 return |
| 115 } | 115 } |
| 116 | 116 |
| 117 » result, err := b.bl.SwarmingBuildImpl(c.Context, sf, c.Request.URL.Strin
g(), id) | 117 » result, err := b.bl.SwarmingBuildImpl(c.Context, sf, id) |
| 118 if err != nil { | 118 if err != nil { |
| 119 common.ErrorPage(c, errCode(err), err.Error()) | 119 common.ErrorPage(c, errCode(err), err.Error()) |
| 120 return | 120 return |
| 121 } | 121 } |
| 122 | 122 |
| 123 templates.MustRender(c.Context, c.Writer, "pages/build.html", templates.
Args{ | 123 templates.MustRender(c.Context, c.Writer, "pages/build.html", templates.
Args{ |
| 124 "Build": result, | 124 "Build": result, |
| 125 }) | 125 }) |
| 126 } | 126 } |
| 127 | 127 |
| 128 // errCode resolves recognized errors into proper http response codes. | 128 // errCode resolves recognized errors into proper http response codes. |
| 129 func errCode(err error) int { | 129 func errCode(err error) int { |
| 130 if err == errUnrecognizedHost { | 130 if err == errUnrecognizedHost { |
| 131 return http.StatusBadRequest | 131 return http.StatusBadRequest |
| 132 } | 132 } |
| 133 if isAPINotFound(err) || os.IsNotExist(err) { | 133 if isAPINotFound(err) || os.IsNotExist(err) { |
| 134 return http.StatusNotFound | 134 return http.StatusNotFound |
| 135 } | 135 } |
| 136 return http.StatusInternalServerError | 136 return http.StatusInternalServerError |
| 137 } | 137 } |
| 138 | 138 |
| 139 // isAPINotFound returns true if err is a HTTP 404 API response. | 139 // isAPINotFound returns true if err is a HTTP 404 API response. |
| 140 func isAPINotFound(err error) bool { | 140 func isAPINotFound(err error) bool { |
| 141 if apiErr, ok := err.(*googleapi.Error); ok && apiErr.Code == http.Statu
sNotFound { | 141 if apiErr, ok := err.(*googleapi.Error); ok && apiErr.Code == http.Statu
sNotFound { |
| 142 return true | 142 return true |
| 143 } | 143 } |
| 144 return false | 144 return false |
| 145 } | 145 } |
| OLD | NEW |