Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(238)

Side by Side Diff: milo/appengine/buildbucket/html.go

Issue 2765383002: Milo: Move instance configuration to luci-config (Closed)
Patch Set: review Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « milo/appengine/buildbucket/buckets.go ('k') | milo/appengine/swarming/build.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The LUCI Authors. All rights reserved. 1 // Copyright 2016 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 buildbucket 5 package buildbucket
6 6
7 import ( 7 import (
8 "context"
8 "errors" 9 "errors"
9 "net/http" 10 "net/http"
10 11
11 "github.com/julienschmidt/httprouter" 12 "github.com/julienschmidt/httprouter"
13 "github.com/luci/luci-go/common/logging"
12 "github.com/luci/luci-go/milo/appengine/common" 14 "github.com/luci/luci-go/milo/appengine/common"
15 "github.com/luci/luci-go/milo/common/config"
13 "github.com/luci/luci-go/server/router" 16 "github.com/luci/luci-go/server/router"
14 "github.com/luci/luci-go/server/templates" 17 "github.com/luci/luci-go/server/templates"
15 ) 18 )
16 19
17 // TODO(nodir): move this value to luci-config. 20 func parseBuilderQuery(c context.Context, r *http.Request, p httprouter.Params) (
18 const defaultServer = "cr-buildbucket.appspot.com" 21 » query builderQuery, err error) {
19 22
20 func parseBuilderQuery(r *http.Request, p httprouter.Params) (query builderQuery , err error) {
21 query.Server = r.FormValue("server") 23 query.Server = r.FormValue("server")
22 if query.Server == "" { 24 if query.Server == "" {
23 » » query.Server = defaultServer 25 » » var settings *config.Settings
26 » » settings, err = common.GetSettings(c)
27 » » if err != nil || settings.Buildbucket == nil {
28 » » » logging.WithError(err).Errorf(c, "failed to get settings ")
nodir 2017/03/28 18:25:49 if err != nil, we didn't fail to get settings. Thi
hinoka 2017/03/28 19:21:02 We did tho But anyways, this is split into two se
29 » » » err = errors.New("no server specified and buildbucket se ttings not configured")
30 » » » return
31 » » }
32 » » query.Server = settings.Buildbucket.Host
24 } 33 }
25 34
26 query.Bucket = p.ByName("bucket") 35 query.Bucket = p.ByName("bucket")
27 if query.Bucket == "" { 36 if query.Bucket == "" {
28 err = errors.New("No bucket") 37 err = errors.New("No bucket")
29 return 38 return
30 } 39 }
31 40
32 query.Builder = p.ByName("builder") 41 query.Builder = p.ByName("builder")
33 if query.Builder == "" { 42 if query.Builder == "" {
34 err = errors.New("No builder") 43 err = errors.New("No builder")
35 return 44 return
36 } 45 }
37 46
38 // limit is a name of the query string parameter for specifying 47 // limit is a name of the query string parameter for specifying
39 // maximum number of builds to show. 48 // maximum number of builds to show.
40 query.Limit, err = common.GetLimit(r) 49 query.Limit, err = common.GetLimit(r)
41 return 50 return
42 } 51 }
43 52
44 // BuilderHandler renders the builder view page. 53 // BuilderHandler renders the builder view page.
45 // Note: The builder html template contains self links to "?limit=123", which co uld 54 // Note: The builder html template contains self links to "?limit=123", which co uld
46 // potentially override any other request parameters set. 55 // potentially override any other request parameters set.
47 func BuilderHandler(c *router.Context) { 56 func BuilderHandler(c *router.Context) {
48 » query, err := parseBuilderQuery(c.Request, c.Params) 57 » query, err := parseBuilderQuery(c.Context, c.Request, c.Params)
49 if err != nil { 58 if err != nil {
50 common.ErrorPage(c, http.StatusBadRequest, err.Error()) 59 common.ErrorPage(c, http.StatusBadRequest, err.Error())
51 return 60 return
52 } 61 }
53 62
54 result, err := builderImpl(c.Context, query) 63 result, err := builderImpl(c.Context, query)
55 if err != nil { 64 if err != nil {
56 common.ErrorPage(c, http.StatusInternalServerError, err.Error()) 65 common.ErrorPage(c, http.StatusInternalServerError, err.Error())
57 return 66 return
58 } 67 }
59 68
60 templates.MustRender(c.Context, c.Writer, "pages/builder.html", template s.Args{ 69 templates.MustRender(c.Context, c.Writer, "pages/builder.html", template s.Args{
61 "Builder": result, 70 "Builder": result,
62 }) 71 })
63 } 72 }
OLDNEW
« no previous file with comments | « milo/appengine/buildbucket/buckets.go ('k') | milo/appengine/swarming/build.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698