Skip to content

Commit

Permalink
fix(runner): pass token in PUT request
Browse files Browse the repository at this point in the history
  • Loading branch information
fiftin committed Jan 7, 2024
1 parent 7d99fd2 commit f7da53c
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 10 deletions.
19 changes: 13 additions & 6 deletions api/runners/runners.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ func RunnerMiddleware(next http.Handler) http.Handler {

token := r.Header.Get("X-API-Token")

if token == "" {
helpers.WriteJSON(w, http.StatusUnauthorized, map[string]string{
"error": "Invalid token",
})
return
}

runnerID, err := helpers.GetIntParam("runner_id", w, r)

if err != nil {
Expand All @@ -28,16 +35,16 @@ func RunnerMiddleware(next http.Handler) http.Handler {

runner, err := store.GetGlobalRunner(runnerID)

if runner.Token != token {
helpers.WriteJSON(w, http.StatusUnauthorized, map[string]string{
"error": "Invalid token",
if err != nil {
helpers.WriteJSON(w, http.StatusNotFound, map[string]string{
"error": "Runner not found",
})
return
}

if err != nil {
helpers.WriteJSON(w, http.StatusNotFound, map[string]string{
"error": "Runner not found",
if runner.Token != token {
helpers.WriteJSON(w, http.StatusUnauthorized, map[string]string{
"error": "Invalid token",
})
return
}
Expand Down
10 changes: 6 additions & 4 deletions services/runners/JobPool.go
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,8 @@ func (p *JobPool) sendProgress() {
return
}

req.Header.Set("X-API-Token", p.config.Token)

resp, err := client.Do(req)
if err != nil {
fmt.Println("Error making request:", err)
Expand All @@ -312,6 +314,8 @@ func (p *JobPool) tryRegisterRunner() bool {
return true
}

log.Info("Trying to register on server")

if os.Getenv("SEMAPHORE_RUNNER_ID") != "" {

runnerId, err := strconv.Atoi(os.Getenv("SEMAPHORE_RUNNER_ID"))
Expand All @@ -328,9 +332,9 @@ func (p *JobPool) tryRegisterRunner() bool {
RunnerID: runnerId,
Token: os.Getenv("SEMAPHORE_RUNNER_TOKEN"),
}
}

log.Info("Trying to register on server")
return true
}

_, err := os.Stat(util.Config.Runner.ConfigFile)

Expand Down Expand Up @@ -375,14 +379,12 @@ func (p *JobPool) tryRegisterRunner() bool {
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonBytes))
if err != nil {
log.Error("Error creating request:", err)
//fmt.Println("Error creating request:", err)
return false
}

resp, err := client.Do(req)
if err != nil || resp.StatusCode != 200 {
log.Error("Error making request:", err)
//fmt.Println("Error making request:", err)
return false
}

Expand Down

0 comments on commit f7da53c

Please sign in to comment.