[{"data":1,"prerenderedAt":77},["Reactive",2],{"/samples/java/netty":3,"related:nr1XUpIhI9":59},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"language":10,"library":8,"link":11,"body":12,"_type":54,"_id":55,"_source":56,"_file":57,"_extension":58},"/samples/java/netty","java",false,"","Netty","Netty is a high-performance networking framework for building server-side and client-side applications in Java. It provides a flexible and event-driven architecture for handling network communication efficiently. Netty is commonly used for building scalable and low-latency network applications, such as web servers, proxy servers, and messaging systems.","Java","https://netty.io/",{"type":13,"children":14,"toc":51},"root",[15,30,42],{"type":16,"tag":17,"props":18,"children":19},"element","p",{},[20,28],{"type":16,"tag":21,"props":22,"children":25},"a",{"href":11,"rel":23},[24],"nofollow",[26],{"type":27,"value":8},"text",{"type":27,"value":29}," is a high-performance networking framework for building server-side and client-side applications in Java. It provides a flexible and event-driven architecture for handling network communication efficiently. Netty is commonly used for building scalable and low-latency network applications, such as web servers, proxy servers, and messaging systems.",{"type":16,"tag":31,"props":32,"children":36},"pre",{"className":33,"code":35,"language":5,"meta":7},[34],"language-java","import io.netty.handler.codec.http.*;\nimport io.netty.buffer.Unpooled;\nimport io.netty.util.CharsetUtil;\n\nimport java.util.HashMap;\nimport java.util.Map;\n\nimport com.google.gson.Gson;\nimport com.google.gson.reflect.TypeToken;\n\npublic class Convert {\n    private static final String API_KEY = \"sk_XXXXXXXXXXXXXX\";\n    private static final String HOST = \"https://api.pdfshift.io/v3/convert/\";\n    \n    private static byte[] convert(String apiKey, Map\u003CString, String> params, String endpoint) throws Exception {\n        if(!Arrays.asList(\"pdf\", \"png\", \"jpg\", \"webp\").contains(endpoint)) {\n            throw new IllegalArgumentException(\"Invalid endpoint\");\n        }\n\n        String url = HOST + endpoint;\n        String paramsJson = new Gson().toJson(params);\n\n        FullHttpRequest request = new DefaultFullHttpRequest(\n                HttpVersion.HTTP_1_1, HttpMethod.POST, url,\n                Unpooled.copiedBuffer(paramsJson, CharsetUtil.UTF_8));\n\n        request.headers().set(HttpHeaderNames.CONTENT_TYPE, \"application/json\");\n        request.headers().set(\"X-API-Key\", apiKey);\n        \n\n        HttpClient client = new HttpClient();\n        FullHttpResponse response = client.sendRequest(request);\n\n        if (!HttpResponseStatus.OK.equals(response.status())) {\n            throw new RuntimeException(\"Failed : HTTP error code : \" + response.status());\n        }\n\n        if (params.containsKey(\"filename\") || params.containsKey(\"webhook\")) {\n            Map\u003CString, Object> responseMap = new Gson().fromJson(\n                    response.content().toString(CharsetUtil.UTF_8),\n                    new TypeToken\u003CMap\u003CString, Object>>() {\n                    }.getType());\n            return responseMap;\n        }\n\n        return response.content().array();\n    }\n}\n",[37],{"type":16,"tag":38,"props":39,"children":40},"code",{"__ignoreMap":7},[41],{"type":27,"value":35},{"type":16,"tag":31,"props":43,"children":46},{"className":44,"code":45,"language":5,"meta":7},[34],"public static void main(String[] args) {\n    Map\u003CString, String> params = new HashMap\u003C>();\n    params.put(\"source\", \"https://en.wikipedia.org/wiki/REST\");\n    \n    byte[] result = convert(API_KEY, params, \"pdf\");\n    Files.write(Paths.get(\"result.pdf\"), result);\n}\n",[47],{"type":16,"tag":38,"props":48,"children":49},{"__ignoreMap":7},[50],{"type":27,"value":45},{"title":7,"searchDepth":52,"depth":52,"links":53},2,[],"markdown","content:samples:java:netty.md","content","samples/java/netty.md","md",[60,64,68,69,73],{"_path":61,"language":10,"library":62,"_id":63},"/samples/java/httpclient","HttpClient","content:samples:java:httpclient.md",{"_path":65,"language":10,"library":66,"_id":67},"/samples/java/javanet","java.net","content:samples:java:javanet.md",{"_path":4,"language":10,"library":8,"_id":55},{"_path":70,"language":10,"library":71,"_id":72},"/samples/java/okhttp","OkHttp","content:samples:java:okhttp.md",{"_path":74,"language":10,"library":75,"_id":76},"/samples/java/retrofit","Retrofit","content:samples:java:retrofit.md",1785426823671]