[{"data":1,"prerenderedAt":78},["Reactive",2],{"/samples/java/okhttp":3,"related:agX7V1nYlt":60},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"language":10,"library":11,"link":12,"body":13,"_type":55,"_id":56,"_source":57,"_file":58,"_extension":59},"/samples/java/okhttp","java",false,"","Okhttp","OkHttp is a popular HTTP client library for Java and Android. It provides a simple and intuitive API for making HTTP requests and processing responses. OkHttp supports features like connection pooling, caching, interceptors, and asynchronous requests.","Java","OkHttp","https://square.github.io/okhttp/",{"type":14,"children":15,"toc":52},"root",[16,31,43],{"type":17,"tag":18,"props":19,"children":20},"element","p",{},[21,29],{"type":17,"tag":22,"props":23,"children":26},"a",{"href":12,"rel":24},[25],"nofollow",[27],{"type":28,"value":11},"text",{"type":28,"value":30}," is a popular HTTP client library for Java and Android. It provides a simple and intuitive API for making HTTP requests and processing responses. OkHttp supports features like connection pooling, caching, interceptors, and asynchronous requests.",{"type":17,"tag":32,"props":33,"children":37},"pre",{"className":34,"code":36,"language":5,"meta":7},[35],"language-java","import okhttp3.*;\nimport java.io.IOException;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\nimport okhttp3.RequestBody;\nimport okhttp3.Response;\n\npublic class PDFShift {\n\n    private static final OkHttpClient client = new OkHttpClient();\n\n    public static byte[] convert(String apiKey, String params, String endpoint) throws Exception {\n        if (!endpoint.equals(\"pdf\") && !endpoint.equals(\"png\") && !endpoint.equals(\"jpg\") && !endpoint.equals(\"webp\")) {\n            throw new IllegalArgumentException(\"Invalid endpoint\");\n        }\n\n        String url = \"https://api.pdfshift.io/v3/convert/\" + endpoint;\n        \n        MediaType mediaType = MediaType.parse(\"application/json\");\n        RequestBody body = RequestBody.create(mediaType, params);\n        Request request = new Request.Builder()\n            .url(url)\n            .method(\"POST\", body)\n            .addHeader(\"X-API-Key\", apiKey)\n            .addHeader(\"Content-Type\", \"application/json\")\n            .build();\n\n        byte[] content;\n        try (Response response = client.newCall(request).execute()) {\n            if (!response.isSuccessful()) throw new IOException(\"Unexpected code \" + response);\n            content = response.body().bytes();\n        }\n\n        if (params.contains(\"\\\"filename\\\"\") || params.contains(\"\\\"webhook\\\"\")) {\n            return new Gson().fromJson(new String(content.toByteArray()), JsonObject.class).toString().getBytes();\n        }\n\n        return content;\n    }\n}\n",[38],{"type":17,"tag":39,"props":40,"children":41},"code",{"__ignoreMap":7},[42],{"type":28,"value":36},{"type":17,"tag":32,"props":44,"children":47},{"className":45,"code":46,"language":5,"meta":7},[35],"public static void main(String[] args) throws Exception {\n    String apiKey = \"sk_XXXXXXXXXXXXXX\";\n    String params = \"{\\\"source\\\" : \\\"https://en.wikipedia.org/wiki/REST\\\"}\";\n    String endpoint = \"pdf\";\n\n    byte[] result = convert(apiKey, params, endpoint);\n    Files.write(Paths.get(\"result.pdf\"), result);\n}\n",[48],{"type":17,"tag":39,"props":49,"children":50},{"__ignoreMap":7},[51],{"type":28,"value":46},{"title":7,"searchDepth":53,"depth":53,"links":54},2,[],"markdown","content:samples:java:okhttp.md","content","samples/java/okhttp.md","md",[61,65,69,73,74],{"_path":62,"language":10,"library":63,"_id":64},"/samples/java/httpclient","HttpClient","content:samples:java:httpclient.md",{"_path":66,"language":10,"library":67,"_id":68},"/samples/java/javanet","java.net","content:samples:java:javanet.md",{"_path":70,"language":10,"library":71,"_id":72},"/samples/java/netty","Netty","content:samples:java:netty.md",{"_path":4,"language":10,"library":11,"_id":56},{"_path":75,"language":10,"library":76,"_id":77},"/samples/java/retrofit","Retrofit","content:samples:java:retrofit.md",1785426823715]