Hi All,

In the past there have been complaints about the compatibility amongst the
GLVs. One of the complaints is about the differences in connection pooling
options. I think that some of these options should be standardized across
the GLVs in the next major version (which uses HTTP as its protocol). Here
are the HTTP-specific options that I was thinking about:

TlsConfiguration - Settings for TLS which should be:

Enable - True/False  Default: False
Version - SSL3/TLS1.1/TLS1.2/TLS1.3/Auto  Default Auto
CertificateStore - path to .pem files that contain the CAs to use for
verifying the server - Default ""

Interceptor - Adds to a list of HTTP interceptors which will be executed in
the order they were added. The actual structure of the interceptor will be
language-dependent but will need to give access to both request header and
request body. Authentication/authorization mechanisms should make use of
this. - Default empty list

MaxConnPerEndpoint - Maximum number of open TCP connections per endpoint.
This acts as a cap on the number of connections in the pool. What happens
if this limit is reached will be language dependent. - Default 128

UserAgent - Adds the user-provided string to the custom part of the
userAgent. - Default ""

MaxResponseContentLength - A setting for the maximum size of the entire
response. Prevents accidental errors where the client can't actually handle
a response of that size; that is, the user probably accidentally made an
infinite traversal. - Default 2147483647 (max integer)

GLVs will need to have their own specific options as the underlying HTTP
client used may have some options that users will need access to. But, I
think that GLV-specific options should be kept to a minimum.

Any thoughts on this?

Thanks,
Ken

Reply via email to