Http2 Notes - rahmanusta/java9-workshop GitHub Wiki
Http2 Notes
keytool -genkeypair -alias http2 -keyalg RSA -keysize 2048 -keystore http2.keystore -validity 3650 keytool -importkeystore -srckeystore http2.keystore -destkeystore http2.p12 -deststoretype pkcs12 Run SSL server and client by entering the commands: $ java -jar -Djavax.net.ssl.keyStore=keystore -Djavax.net.ssl.keyStorePassword=password "...JavaSSLServer.jar" $ java -jar -Djavax.net.ssl.trustStore=keystore -Djavax.net.ssl.trustStorePassword=password "...JavaSSLClient.jar"
// GET Example
HttpClient httpClient = HttpClient.newHttpClient();
HttpRequest httpRequest = HttpRequest.newBuilder(URI.create("https://localhost:8443/get")).GET().build();
HttpResponse<String> httpResponse = httpClient.send(httpRequest, HttpResponse.BodyHandler.asString());
HttpClient.Version version = httpResponse.version();
String body = httpResponse.body();
System.out.println(version);
System.out.println(body);
// Post Example
HttpClient httpClient = HttpClient.newHttpClient();
HttpRequest httpRequest = HttpRequest
.newBuilder(URI.create("https://localhost:8443/post"))
.POST(fromString("Hi Devoxx!"))
.build();
HttpResponse<String> httpResponse = httpClient.send(httpRequest, HttpResponse.BodyHandler.asString());
HttpClient.Version version = httpResponse.version();
String body = httpResponse.body();
System.out.println(version);
System.out.println(body);
@RestController
public class HellloController {
@GetMapping("/get")
public String get() {
return "Hello world";
}
@GetMapping("/post")
public String post(@RequestBody String body) {
return Objects.isNull(body) ? "Hello world" : body;
}
}
server.ssl.key-store=classpath:http2.keystore server.ssl.key-store-password=123456 server.ssl.key-alias=http2 server.http2.enabled=true server.port=8443