package test.http; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; import java.util.concurrent.Future; import com.firefly.client.http2.SimpleHTTPClient; import com.firefly.client.http2.SimpleResponse; import com.firefly.codec.http2.model.HttpHeader; import com.firefly.codec.http2.model.MimeTypes; import com.firefly.codec.http2.stream.HTTP2Configuration; import com.firefly.codec.http2.stream.HTTPOutputStream; import com.firefly.utils.io.BufferUtils; public class SimpleHTTPClientDemo1 { public static void main(String[] args) throws Throwable { SimpleHTTPClient client = new SimpleHTTPClient(); final long start = System.currentTimeMillis(); List<ByteBuffer> list = new ArrayList<>(); client.get("http://localhost:6656/index") .content(list::add) .messageComplete((response) -> { long end = System.currentTimeMillis(); System.out.println(BufferUtils.toString(list)); System.out.println(response.toString()); System.out.println(response.getFields()); System.out.println("------------------------------------ " + (end - start)); }).end(); long s2 = System.currentTimeMillis(); List<ByteBuffer> list2 = new ArrayList<>(); client.get("http://localhost:6656/index_1") .content(list2::add) .messageComplete((response) -> { long end = System.currentTimeMillis(); System.out.println(BufferUtils.toString(list2)); System.out.println(response.toString()); System.out.println(response.getFields()); System.out.println("------------------------------------ " + (end - s2)); }).end(); long s3 = System.currentTimeMillis(); Future<SimpleResponse> future = client.get("http://localhost:6656/login").submit(); SimpleResponse simpleResponse = future.get(); long end = System.currentTimeMillis(); System.out.println(); System.out.println(simpleResponse.getStringBody()); System.out.println(simpleResponse.toString()); System.out.println(simpleResponse.getResponse().getFields()); System.out.println("------------------------------------ " + (end - s3)); long s4 = System.currentTimeMillis(); byte[] test = "content=hello_hello".getBytes(StandardCharsets.UTF_8); future = client.post("http://localhost:6656/add").output((o) -> { try (HTTPOutputStream out = o) { out.write(test); } catch (IOException e) { e.printStackTrace(); } }).put(HttpHeader.CONTENT_LENGTH, String.valueOf(test.length)) .cookies(simpleResponse.getCookies()) .put(HttpHeader.CONTENT_TYPE, MimeTypes.Type.FORM_ENCODED.asString()) .submit(); simpleResponse = future.get(); long end2 = System.currentTimeMillis(); System.out.println(); System.out.println(simpleResponse.getStringBody()); System.out.println(simpleResponse.toString()); System.out.println(simpleResponse.getResponse().getFields()); System.out.println("------------------------------------ " + (end2 - s4)); Thread.sleep(5000); client.removeConnectionPool("http://localhost:6656"); long s5 = System.currentTimeMillis(); List<ByteBuffer> list3 = new ArrayList<>(); client.get("http://localhost:6656/index_1") .content(list3::add) .messageComplete((response) -> { long e5 = System.currentTimeMillis(); System.out.println(BufferUtils.toString(list3)); System.out.println(response.toString()); System.out.println(response.getFields()); System.out.println("------------------------------------ " + (e5 - s5)); }).end(); Thread.sleep(5000); client.stop(); } }