@kimiy, can you please try following branch - just to see whether it will work for you?
(clone, build using "mvn clean install -Dmaven.test.skip" and then use Tyrus libraries version 1.6-SNAPSHOT)
It adds support for changing headers of request to be used as proxy "handshake". Simple usage is present in EchoTest:
client.getProperties().put(GrizzlyClientSocket.PROXY_URI, "http:); // or -Dhttp.proxyHost and -
final HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Proxy-Authorization", "Basic " + Base64Utils.encodeToString("username:password".getBytes(Charset.forName("UTF-8")), false));
Please try to replace "username:password" with your credentials. (I don't have any proxy which requires authentication currently available).
Also any comments about this (low-level) solution is also welcomed. I think we can come up with better, high level solution, something similar to jersey or apache http client, but that will require more time (and we will most likely start with standard authentication rather than jump into proxies).
Thanks and regards,