Add oauth2 client

This commit is contained in:
Guilherme Werner 2023-12-01 20:33:43 -03:00
parent 61c562b63d
commit 92ea35896f
12 changed files with 124 additions and 56 deletions

View file

@ -0,0 +1,39 @@
// Copyright (c) Tribufu. All Rights Reserved.
package com.tribufu.sdk;
import java.net.http.HttpClient;
import java.util.HashMap;
import java.util.Map;
public class TribufuClient {
public static final String VERSION = "0.0.0";
private final long id;
private final String secret;
private final HttpClient http;
private Map<String, String> defaultHeaders;
public TribufuClient(long id, String secret) {
this.id = id;
this.secret = secret;
String targetTriple = "Java";
String userAgent = String.format("Tribufu/%s (+https://api.tribufu.com; %s)", VERSION, targetTriple);
Map<String, String> headers = new HashMap<>();
headers.put("User-Agent", userAgent);
headers.put("X-Tribufu-Language", "java");
headers.put("X-Tribufu-Version", VERSION);
this.defaultHeaders = headers;
this.http = HttpClient.newBuilder()
.version(HttpClient.Version.HTTP_2)
.build();
}
public long getId() {
return this.id;
}
}

View file

@ -0,0 +1,14 @@
// Copyright (c) TribuFu. All Rights Reserved
package com.tribufu.sdk;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class TribufuClientTest {
@Test
void clientGetId() {
TribufuClient client = new TribufuClient(0, "client_secret");
assertEquals(0, client.getId());
}
}