@@ -23,7 +23,8 @@ module Github : Api.Github = struct
23
23
let get_config ~(ctx : Context.t ) ~repo =
24
24
let secrets = Context. get_secrets_exn ctx in
25
25
let url = contents_url ~repo ~path: ctx.config_filename in
26
- let headers = build_headers ?token:secrets.gh_token () in
26
+ let token = Context. gh_token_of_secrets secrets repo.url in
27
+ let headers = build_headers ?token () in
27
28
match % lwt http_request ~headers `GET url with
28
29
| Error e -> Lwt. return @@ fmt_error " error while querying remote: %s\n failed to get config from file %s" e url
29
30
| Ok res ->
@@ -44,35 +45,38 @@ module Github : Api.Github = struct
44
45
@@ fmt_error " unexpected encoding '%s' in Github response\n failed to get config from file %s" encoding url
45
46
)
46
47
47
- let get_resource ( ctx : Context.t ) url =
48
- let secrets = Context. get_secrets_exn ctx in
49
- let headers = build_headers ?token:secrets.gh_token () in
48
+ let get_resource ~ secrets ~ repo_url url =
49
+ let token = Context. gh_token_of_secrets secrets repo_url in
50
+ let headers = build_headers ?token () in
50
51
match % lwt http_request ~headers `GET url with
51
52
| Ok res -> Lwt. return @@ Ok res
52
53
| Error e -> Lwt. return @@ fmt_error " error while querying remote: %s\n failed to get resource from %s" e url
53
54
54
- let post_resource ( ctx : Context.t ) body url =
55
- let secrets = Context. get_secrets_exn ctx in
56
- let headers = build_headers ?token:secrets.gh_token () in
55
+ let post_resource ~ secrets ~ repo_url body url =
56
+ let token = Context. gh_token_of_secrets secrets repo_url in
57
+ let headers = build_headers ?token () in
57
58
match % lwt http_request ~headers ~body: (`Raw (" application/json; charset=utf-8" , body)) `POST url with
58
59
| Ok res -> Lwt. return @@ Ok res
59
60
| Error e -> Lwt. return @@ fmt_error " POST to %s failed : %s" url e
60
61
61
- let get_api_commit ~(ctx : Context.t ) ~repo ~sha =
62
- let % lwt res = commits_url ~repo ~sha |> get_resource ctx in
62
+ let get_api_commit ~(ctx : Context.t ) ~( repo : Github_t.repository ) ~sha =
63
+ let % lwt res = commits_url ~repo ~sha |> get_resource ~secrets: ( Context. get_secrets_exn ctx) ~repo_url: repo.url in
63
64
Lwt. return @@ Result. map res ~f: Github_j. api_commit_of_string
64
65
65
- let get_pull_request ~(ctx : Context.t ) ~repo ~number =
66
- let % lwt res = pulls_url ~repo ~number |> get_resource ctx in
66
+ let get_pull_request ~(ctx : Context.t ) ~( repo : Github_t.repository ) ~number =
67
+ let % lwt res = pulls_url ~repo ~number |> get_resource ~secrets: ( Context. get_secrets_exn ctx) ~repo_url: repo.url in
67
68
Lwt. return @@ Result. map res ~f: Github_j. pull_request_of_string
68
69
69
- let get_issue ~(ctx : Context.t ) ~repo ~number =
70
- let % lwt res = issues_url ~repo ~number |> get_resource ctx in
70
+ let get_issue ~(ctx : Context.t ) ~( repo : Github_t.repository ) ~number =
71
+ let % lwt res = issues_url ~repo ~number |> get_resource ~secrets: ( Context. get_secrets_exn ctx) ~repo_url: repo.url in
71
72
Lwt. return @@ Result. map res ~f: Github_j. issue_of_string
72
73
73
74
let request_reviewers ~(ctx : Context.t ) ~repo ~number ~reviewers =
74
75
let body = Github_j. string_of_request_reviewers_req reviewers in
75
- let % lwt res = pulls_url ~repo ~number ^ " /requested_reviewers" |> post_resource ctx body in
76
+ let % lwt res =
77
+ pulls_url ~repo ~number ^ " /requested_reviewers"
78
+ |> post_resource ~secrets: (Context. get_secrets_exn ctx) ~repo_url: repo.url body
79
+ in
76
80
Lwt. return @@ Result. map res ~f: (fun _ -> () )
77
81
end
78
82
0 commit comments