Differences betwwen PoolingClientConnectionManager and PoolingHttpClientConnectionManage? Which is better for HTTP connection? - httpclient

Since 4.3 of httpclient, we can use PoolingHttpClientConnectionManage.
I want to know two things.
What is differences betwwen PoolingClientConnectionManager and PoolingHttpClientConnectionManage ?
Which is better for HTTP connection ?
Currently, I am using the PoolingClientConnectionManager. I am thinking to use PoolingHttpClientConnectionManage. Can someone give some advice to me?

Since 4.3 PoolingClientConnectionManager is deprecated. Just use PoolingHttpClientConnectionManager instead.

Related

How to build Swift gRPC with OpenSSL (or SSL provider other than BoringSSL)

Currently working on a project that uses Swift-gRPC; which uses BoringSSL. I would like to know if it is possible to use a custom SSL Provider, such as OpenSSL.
I found this post that allows you to specify an SSL provider for the gRPC C++ library. I would like to know if the same thing is possible in the Swift gRPC library.
So to answer your question: Yes, this is possible because in SwiftNIO an SSL implementation is really just a ChannelHandler that happens to encrypt/decrypt.
BUT: Are you really sure that you want to use an OpenSSL-based implementation? I see absolutely no upsides but many many downsides of doing so. We ship the BoringSSL for you inside the Swift Package so there's no extra work for you and it should support all relevant SSL configurations (Google Chrome also uses BoringSSL so it should work :) ). Is this some legal or so requirement?
Again, I would very much advise against doing that but if you still want to do it, read on.
It it super easy to use an OpenSSL-based TLS implementation with gRPC Swift? No, for at least two reasons:
gRPC Swift AFAIK doesn't let you choose arbitrary SSL implementation. It supports two and will let you choose but I don't think it by default lets you just inject one. But that's easy to work around: It allows you to specify a debugChannelInitializer which you can (ab)use to insert any TLS encrypting ChannelHandler you want. So you'd tell gRPC Swift to use unsafe, unencrypted HTTP and then just shove the TLS handler into the pipeline ($0.debugChannelInitializer = { channel in channel.pipeline.addHandler(MyTLSHandler(), position: .first) }).
As far as I know, there are only two TLS implementations for SwiftNIO: The BoringSSL-based one in swift-nio-ssl and the one that uses Network.framework on Apple platforms in swift-nio-transport-services.
In case you really want to go down the route of adding an OpenSSL-based implementation, I can help you a little bit: Very old swift-nio-ssl implementations for SwiftNIO 1 (unusable with gRPC Swift, deprecated and unsupported) did use an OpenSSL-based implementation. And I just ported that to SwiftNIO 2 (the current version, usable with gRPC Swift) in this branch. If you actually wanted to use that, you'd need to create a new Swift Package hosted somewhere. And please, please do rename the modules from NIO* to something not with a NIO prefix if you actually release this.
Again, I advise against doing so and the code comes with zero promises etc. It needs OpenSSL 1.0 or 1.1 installed on your system and passes its own test suite. But this code has never been used in production anywhere and is based on code that hasn't been touched in years. The actual TLS implementation comes from your system's libraries though.

Sabre REST API equivalent to SOAP SabreCommandLLS

Can anyone please tell me if Sabre has REST API equivalent to SOAP SabreCommandLLS Service with Action SabreCommandLLSRQ? If Sabre has developed the same, where I can find its documentation?
Thanks in advance.
No, there' s not a REST equivalent service.
First of all, what kind of transaction are you trying to execute using Sabrecommand ?
Just to remember, use of Sabrecommand it is do not considered a good practice, you should try to avoid use this kind of approach, you should use always services (REST/SOAP) instead of Sabrecommand.
Second of all, Sabrecommand is not supported by REST and the reason is obvious, is do not recommended to use Sabrecommand.

Scala Play 2.3 Working with gCloud Storage - any libs to go async?

At the moment we using http://mvnrepository.com/artifact/com.google.api-client/google-api-client/1.19.0 Which only seems to expose a blocking API.
Any suggestions on how to get a non-blocking approach welcome.
Thanks
No, The Google API client is just a simple wrapper around REST calls. If you want async, you will need to code that into your app.

Is it possible to write a sip client with google dart?

I am trying to write a SIP-client as a web page. Is it possible to perform it with Google Dart?
If yes, is there any good start point for tutorial or boilerplate example codes?
If no, what alternative should i use?
Thanks in advance.
Have you looked at sipML5? It will be an alternative.
http://sipml5.org/

UrlRewriteFilter and CouchbaseClient depend on different versions of httpclient

UrlRewriteFilter depends on httpclient-3.1, while Couchbase client depends on httpclient-4.0.
I came up with two choices:
Use two different versions of httpclient together
Replace UrlRewriteFilter with other solutions
I found that using httpclient 3.1 and 4.0 together is ok (reference), but is it the best way?
As for the second choice, I use proxying, redirecting, and forwarding with UrlRewriteFilter. Redirecting and forwarding would be possible if I user Spring MVC. But I have no idea how can I proxy some URIs without using Apache web server or haproxy.
Any advices or corrections for this question are welcomed.
HttpClient 3.1 and 4.0 can coexist with no problem. I would say the best solution at the moment is to do that. It's always tempting to form UrlRewriteFilter for example. But in the end, that kind of solutions are just time-consuming.
Whatever you are doing do NOT use Apache to proxy som URLs, you will just be mad that you can never just use Jetty in development and you have to maintain rewrites that are not in the codebase, that is the worst solution.