HttpClient/src/sig/client.java
sigonasr2 fd43413fb8 Allow for x-www-form-urlencoded whatever
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
2022-08-02 19:51:45 -05:00

105 lines
4.5 KiB
Java

package sig;
import java.io.IOException;
import java.net.URLEncoder;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.HashMap;
import sig.exceptions.FailedResponseException;
import sig.requests.GETRequest;
import sig.requests.POSTRequest;
public class client {
static String SECRET = "";
private static String JSON(HashMap<String, Object> testMap) {
StringBuilder sb = new StringBuilder();
String temp = testMap.toString();
if (temp.charAt(0)=='{') {
sb.append("{");
int marker=1;
boolean ending=false;
while (marker<temp.length()) {
if (!ending&&temp.charAt(marker)!=' '&&temp.charAt(marker)!='{'&&temp.charAt(marker)!='}') {
ending=true;
sb.append("\"");
} else
if (ending&&(temp.charAt(marker)=='='||temp.charAt(marker)==','||temp.charAt(marker)=='}')) {
ending=false;
sb.append("\"");
}
if (!ending&&temp.charAt(marker)=='=') {
sb.append(':');
} else {
sb.append(temp.charAt(marker));
}
marker++;
}
} else {
throw new UnsupportedOperationException("Not valid JSON!");
}
return sb.toString();
}
public static void main(String[] args) {
try {
SECRET = Files.readAllLines(Path.of("..",".clientsecret")).get(0);
} catch (IOException e1) {
e1.printStackTrace();
}
try {
//Regular get request:
//GETRequest res = new GETRequest("https://postman-echo.com/get?foo1=bar1&foo2=bar2");
//System.out.println(((HttpResponse<String>)res.run()).body());
/*GET Block
//Regular get request:
GETRequest res = new GETRequest("https://postman-echo.com/get?foo1=bar1&foo2=bar2");
System.out.println(((HttpResponse<String>)res.run()).body());
//Download to file:
//GETRequest res = new GETRequest("https://postman-echo.com/get?foo1=bar1&foo2=bar2",30000,Paths.get("test.html"),"default","value");
//System.out.println((Path)((HttpResponse<Path>)res.run()).body());
//Get request with headers:
res = new GETRequest("https://postman-echo.com/headers",30000,"test-header1","value1","test-header2","value2");
System.out.println(((HttpResponse<String>)res.run()).body());
//Get request with headers:
res = new GETRequest("https://postman-echo.com/response-headers?foo1=bar1&foo2=bar2",30000,"test-header1","value1","test-header2","value2");
System.out.println(((HttpResponse<String>)res.run()).body());
//Get request with authentication:
res = new GETRequest("https://postman-echo.com/basic-auth","postman","password",30000,null);
System.out.println(((HttpResponse<String>)res.run()).body());
*/
/*GETRequest res = new GETRequest("https://api.twitch.tv/helix/users?login=sigonitori",30000,"Client-Id","otppg8l1x7xbrfnqex1np1qba47mzf");
System.out.println(((HttpResponse<String>)res.run()).body());*/
HashMap<String,Object> obj = new HashMap();
obj.put("type","stream.online");
obj.put("version","1");
obj.put("version","1");
//Regular POST request with body:
POSTRequest postRes = new POSTRequest("https://id.twitch.tv/oauth2/token","client_id=otppg8l1x7xbrfnqex1np1qba47mzf&client_secret="+SECRET+"&grant_type=client_credentials");
postRes.setContentType("application/x-www-form-urlencoded");
System.out.println(((HttpResponse<String>)postRes.run()).body());
/*
//POST request with body and headers:
postRes = new POSTRequest("https://postman-echo.com/post","Test body", 30000, "header1","value1", "header2","value2");
System.out.println(((HttpResponse<String>)postRes.run()).body());*/
//POST request with a file.
//POSTRequest postRes = new POSTRequest("https://postman-echo.com/post",Path.of("..",".gitignore"));
//System.out.println(((HttpResponse<String>)postRes.run()).body());
} catch (FailedResponseException e) {
e.printStackTrace();
}
}
}