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

Side by Side Diff: sky/tools/skygo/sky_server.go

Issue 746373002: Convert sky_server over to a go-based http server. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: address review comments Created 6 years 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 | « sky/tools/skygo/README ('k') | sky/tools/skygo/sky_server.sha1 » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 package main
6
7 import (
8 "flag"
9 "net/http"
10 "path"
11 "strings"
12 )
13
14 type skyHandlerRoot struct {
15 root string
16 }
17
18 func skyHandler(root string) http.Handler {
19 return &skyHandlerRoot{root}
20 }
21
22 func (handler *skyHandlerRoot) ServeHTTP(w http.ResponseWriter, r *http.Request) {
23 path := path.Join(handler.root, r.URL.Path)
24 if strings.HasSuffix(path, ".sky") {
25 w.Header().Set("Content-Type", "text/sky")
26 }
27 http.ServeFile(w, r, path)
28 }
29
30 func main() {
31 var configuration = flag.String("t", "Release", "The target configuration (i .e. Release or Debug)")
32 flag.Parse()
33
34 args := flag.Args()
35 root := args[0]
36 port := args[1]
37
38 genRoot := path.Join(root, "out", *configuration, "gen")
39
40 http.Handle("/", skyHandler(root))
41 http.Handle("/mojo/public/", http.StripPrefix("/mojo/public/", skyHandler(pa th.Join(genRoot, "mojo", "public"))))
42 http.Handle("/mojo/services/", http.StripPrefix("/mojo/services/", skyHandle r(path.Join(genRoot, "mojo", "services"))))
43 http.Handle("/sky/services/", http.StripPrefix("/sky/services/", skyHandler( path.Join(genRoot, "sky", "services"))))
44
45 http.ListenAndServe(":" + port, nil)
46 }
OLDNEW
« no previous file with comments | « sky/tools/skygo/README ('k') | sky/tools/skygo/sky_server.sha1 » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698