summaryrefslogtreecommitdiff
path: root/test/netstd
diff options
context:
space:
mode:
authorJens Geyer <jensg@apache.org>2019-06-14 22:39:56 +0200
committerJens Geyer <jensg@apache.org>2019-06-21 01:48:31 +0200
commit96c6113dda9869b7e2d4318bc0bce4f12f3ca3d2 (patch)
tree010b5656cc01e1fcdb753afb0eb078d96fa602f8 /test/netstd
parent433a649a36ce9c78793128391e8466e9e96a9482 (diff)
downloadthrift-96c6113dda9869b7e2d4318bc0bce4f12f3ca3d2.tar.gz
THRIFT-4891 Align HTTP test client with all other variants
Client: netstd Patch: Jens Geyer This closes #1816
Diffstat (limited to 'test/netstd')
-rw-r--r--test/netstd/Client/TestClient.cs87
1 files changed, 46 insertions, 41 deletions
diff --git a/test/netstd/Client/TestClient.cs b/test/netstd/Client/TestClient.cs
index ddc36acc5..6be10234e 100644
--- a/test/netstd/Client/TestClient.cs
+++ b/test/netstd/Client/TestClient.cs
@@ -55,6 +55,7 @@ namespace ThriftTest
{
Socket,
TlsSocket,
+ Http,
NamedPipe
}
@@ -79,6 +80,7 @@ namespace ThriftTest
if (args[i] == "-u")
{
url = args[++i];
+ transport = TransportChoice.Http;
}
else if (args[i] == "-n")
{
@@ -151,6 +153,9 @@ namespace ThriftTest
case TransportChoice.TlsSocket:
Console.WriteLine("Using encrypted transport");
break;
+ case TransportChoice.Http:
+ Console.WriteLine("Using HTTP transport");
+ break;
case TransportChoice.NamedPipe:
Console.WriteLine("Using named pipes transport");
break;
@@ -223,55 +228,55 @@ namespace ThriftTest
public TTransport CreateTransport()
{
- if (url == null)
+ // endpoint transport
+ TTransport trans = null;
+
+ switch(transport)
{
- // endpoint transport
- TTransport trans = null;
+ case TransportChoice.Http:
+ Debug.Assert(url != null);
+ trans = new THttpTransport(new Uri(url), null);
+ break;
- switch(transport)
- {
- case TransportChoice.NamedPipe:
- Debug.Assert(pipe != null);
- trans = new TNamedPipeTransport(pipe);
- break;
-
- case TransportChoice.TlsSocket:
- var cert = GetClientCert();
- if (cert == null || !cert.HasPrivateKey)
- {
- throw new InvalidOperationException("Certificate doesn't contain private key");
- }
+ case TransportChoice.NamedPipe:
+ Debug.Assert(pipe != null);
+ trans = new TNamedPipeTransport(pipe);
+ break;
+
+ case TransportChoice.TlsSocket:
+ var cert = GetClientCert();
+ if (cert == null || !cert.HasPrivateKey)
+ {
+ throw new InvalidOperationException("Certificate doesn't contain private key");
+ }
- trans = new TTlsSocketTransport(host, port, 0, cert,
- (sender, certificate, chain, errors) => true,
- null, SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12);
- break;
-
- case TransportChoice.Socket:
- default:
- trans = new TSocketTransport(host, port);
- break;
- }
+ trans = new TTlsSocketTransport(host, port, 0, cert,
+ (sender, certificate, chain, errors) => true,
+ null, SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12);
+ break;
+ case TransportChoice.Socket:
+ default:
+ trans = new TSocketTransport(host, port);
+ break;
+ }
- // layered transport
- switch(layered)
- {
- case LayeredChoice.Buffered:
- trans = new TBufferedTransport(trans);
- break;
- case LayeredChoice.Framed:
- trans = new TFramedTransport(trans);
- break;
- default:
- Debug.Assert(layered == LayeredChoice.None);
- break;
- }
- return trans;
+ // layered transport
+ switch(layered)
+ {
+ case LayeredChoice.Buffered:
+ trans = new TBufferedTransport(trans);
+ break;
+ case LayeredChoice.Framed:
+ trans = new TFramedTransport(trans);
+ break;
+ default:
+ Debug.Assert(layered == LayeredChoice.None);
+ break;
}
- return new THttpTransport(new Uri(url), null);
+ return trans;
}
public TProtocol CreateProtocol(TTransport transport)