prepare url
[pharext/pharext.org] / app / Github / Fetch / Token.php
1 <?php
2
3 namespace app\Github\Fetch;
4
5 use app\Github\Exception\TokenFetchFailed;
6 use app\Github\Fetch;
7
8 use http\Client\Request;
9 use http\QueryString;
10
11 class Token extends Fetch
12 {
13 function getRequest() {
14 $request = new Request("POST", "https://github.com/login/oauth/access_token", [
15 "Accept" => "application/json",
16 ]);
17 $request->getBody()->append(
18 new QueryString([
19 "client_id" => $this->args["id"],
20 "client_secret" => $this->args["secret"],
21 "code" => $this->args["code"]
22 ])
23 );
24 return $request;
25 }
26
27 function getException($message, $code, $previous = null) {
28 return new TokenFetchFailed($message, $code, $previous);
29 }
30
31 function getCacheKey() {
32 return "access_token";
33 }
34
35 function getStorage(&$ttl = null) {
36 /* do not cache externally */
37 return null;
38 }
39 }