mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
Fixed endpoints.
This commit is contained in:
@@ -6,19 +6,18 @@ require 'uber_config'
|
|||||||
rest = Rest::Client.new
|
rest = Rest::Client.new
|
||||||
rest.logger.level = Logger::DEBUG
|
rest.logger.level = Logger::DEBUG
|
||||||
|
|
||||||
project_id = @config[:iron][:project_id]
|
project_id = "51034bc3c2e603384b00a092" # @config[:iron][:project_id]
|
||||||
token = @config[:iron][:token]
|
token = "dPMijk-pxBAEk_pq8SWRD0iXO4U" # @config[:iron][:token]
|
||||||
# host name
|
# host name
|
||||||
host_name = @config[:iron][:host_name] || "routertest.irondns.info"
|
host_name = @config[:iron][:host_name] || "routertest.irondns.info"
|
||||||
# which worker to run
|
# which worker to run
|
||||||
code_name = @config[:iron][:code_name] || "sinatra"
|
code_name = @config[:iron][:code_name] || "sinatra"
|
||||||
|
|
||||||
|
|
||||||
response = rest.post(
|
response = rest.post(
|
||||||
# "http://localhost:8080/",
|
# "http://localhost:8080/",
|
||||||
"http://router.irondns.info/1/#{project_id}/register",
|
"http://router.irondns.info/1/projects/#{project_id}/register",
|
||||||
headers: {"Iron-Router"=>"register", "Content-Type"=>"application/json",
|
headers: {"Iron-Router"=>"register", "Content-Type"=>"application/json",
|
||||||
"Authorization"=>"OAuth #{token}ssss"},
|
"Authorization"=>"OAuth #{token}"},
|
||||||
body: {"host"=>host_name, "code"=>code_name}
|
body: {"host"=>host_name, "code"=>code_name}
|
||||||
)
|
)
|
||||||
puts "response body:"
|
puts "response body:"
|
||||||
|
|||||||
@@ -105,13 +105,16 @@ func main() {
|
|||||||
icache.Settings.UseConfigMap(map[string]interface{}{"token": config.Iron.Token, "project_id": config.Iron.ProjectId})
|
icache.Settings.UseConfigMap(map[string]interface{}{"token": config.Iron.Token, "project_id": config.Iron.ProjectId})
|
||||||
|
|
||||||
r := mux.NewRouter()
|
r := mux.NewRouter()
|
||||||
// s := r.Headers("Iron-Router", "").Subrouter()
|
|
||||||
s := r.Host("router.irondns.info").Subrouter()
|
s := r.Host("router.irondns.info").Subrouter()
|
||||||
s.Handle("/1/projects/{project_id:[0-9a-fA-F]{24}}/register", &common.AuthHandler{&WorkerHandler{}, ironAuth})
|
s.Handle("/1/projects/{project_id:[0-9a-fA-F]{24}}/register", &common.AuthHandler{&Register{}, ironAuth})
|
||||||
s.HandleFunc("/ping", Ping)
|
s.HandleFunc("/ping", Ping)
|
||||||
s.Handle("/addworker", &WorkerHandler{})
|
s.Handle("/addworker", &WorkerHandler{})
|
||||||
s.HandleFunc("/", Ping)
|
s.HandleFunc("/", Ping)
|
||||||
|
|
||||||
|
s2 := r.Headers("Iron-Router", "").Subrouter()
|
||||||
|
s2.Handle("/", &WorkerHandler{})
|
||||||
|
|
||||||
r.HandleFunc("/ping", Ping) // for ELB health check
|
r.HandleFunc("/ping", Ping) // for ELB health check
|
||||||
r.HandleFunc("/", ProxyFunc)
|
r.HandleFunc("/", ProxyFunc)
|
||||||
|
|
||||||
@@ -233,8 +236,10 @@ func startNewWorker(route *Route) (error) {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// When a worker starts up, it calls this
|
type Register struct {}
|
||||||
func Register(w http.ResponseWriter, req *http.Request) {
|
|
||||||
|
// This registers a new host
|
||||||
|
func (r *Register) ServeHTTP(w http.ResponseWriter, req *http.Request) {
|
||||||
log.Println("Register called!")
|
log.Println("Register called!")
|
||||||
|
|
||||||
// s, err := ioutil.ReadAll(req.Body)
|
// s, err := ioutil.ReadAll(req.Body)
|
||||||
@@ -263,6 +268,12 @@ func Register(w http.ResponseWriter, req *http.Request) {
|
|||||||
common.SendError(w, 400, fmt.Sprintln("Could not register host!", err))
|
common.SendError(w, 400, fmt.Sprintln("Could not register host!", err))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
err = putRoute(&route)
|
||||||
|
if err != nil {
|
||||||
|
golog.Infoln("couldn't register host:", err)
|
||||||
|
common.SendError(w, 400, fmt.Sprintln("Could not register host!", err))
|
||||||
|
return
|
||||||
|
}
|
||||||
golog.Infoln("registered route:", route)
|
golog.Infoln("registered route:", route)
|
||||||
fmt.Fprintln(w, "Host registered successfully.")
|
fmt.Fprintln(w, "Host registered successfully.")
|
||||||
}
|
}
|
||||||
@@ -272,10 +283,7 @@ type WorkerHandler struct {
|
|||||||
|
|
||||||
// When a worker starts up, it calls this
|
// When a worker starts up, it calls this
|
||||||
func (wh *WorkerHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
|
func (wh *WorkerHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
|
||||||
log.Println("AddWorker called!")
|
golog.Infoln("AddWorker called!")
|
||||||
|
|
||||||
// s, err := ioutil.ReadAll(req.Body)
|
|
||||||
// fmt.Println("req.body:", err, string(s))
|
|
||||||
|
|
||||||
// get project id and token
|
// get project id and token
|
||||||
projectId := req.FormValue("project_id")
|
projectId := req.FormValue("project_id")
|
||||||
@@ -286,23 +294,6 @@ func (wh *WorkerHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
|
|||||||
// check header for what operation to perform
|
// check header for what operation to perform
|
||||||
routerHeader := req.Header.Get("Iron-Router")
|
routerHeader := req.Header.Get("Iron-Router")
|
||||||
if routerHeader == "register" {
|
if routerHeader == "register" {
|
||||||
route := Route{}
|
|
||||||
if !common.ReadJSON(w, req, &route) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
golog.Infoln("body read into route:", route)
|
|
||||||
route.ProjectId = projectId
|
|
||||||
route.Token = token
|
|
||||||
route.CodeName = codeName
|
|
||||||
// todo: do we need to close body?
|
|
||||||
err := putRoute(&route)
|
|
||||||
if err != nil {
|
|
||||||
golog.Infoln("couldn't register host:", err)
|
|
||||||
common.SendError(w, 400, fmt.Sprintln("Could not register host!", err))
|
|
||||||
return
|
|
||||||
}
|
|
||||||
golog.Infoln("registered route:", route)
|
|
||||||
fmt.Fprintln(w, "Host registered successfully.")
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
r2 := Route2{}
|
r2 := Route2{}
|
||||||
|
|||||||
Reference in New Issue
Block a user