Commit Graph

3679 Commits

Author SHA1 Message Date
Jens Geyer
528a0f0731 THRIFT-5015 WinHTTP QueryDataAvailable cannot be used to retrieve total response size
Client: Delphi
Patch: Jens Geyer
2019-11-18 20:17:03 +01:00
Jens Geyer
41f47aff7c THRIFT-5007 Implement MAX_MESSAGE_SIZE and remaining read bytes control
Client: Delphi
Patch: Jens Geyer

This closes #1932
2019-11-15 23:27:20 +01:00
Jens Geyer
ed99455e2e THRIFT-5009 Serializer implemtation lacks support for layered transports
Client: Delphi
Patch: Jens Geyer
2019-11-14 22:17:39 +01:00
Jens Geyer
2646bd65b5 THRIFT-5006 Implement DEFAULT_MAX_LENGTH at TFramedTransport
Client: Delphi
Patch: Jens Geyer
2019-11-13 09:34:58 +01:00
Jens Geyer
fad7fd3e5a THRIFT-5005 Refactoring of the Delphi libs [ci skip]
Client: Delphi
Patch: Jens Geyer
2019-11-13 09:34:58 +01:00
Jens Geyer
9f11c1e545 THRIFT-5004 Make exception implementations more consistent [ci skip]
Client: Delphi
Patch: Jens Geyer
2019-11-13 09:34:57 +01:00
Yuxuan 'fishy' Wang
24fa9d0728 THRIFT-4914: Add GetResponseHeadersFromClient helper function
This is the fourth and final part of THRIFT-4914, which handles the
client reading part in the response (server -> client direction).

Client: go

This closes #1926.
2019-11-09 22:21:09 +00:00
John Boiles
59694a796f THRIFT-5002: Fix argument containers for inherited functions
Fix a bug where remote.go client fails to compile when services 
extend other services and the parent service has a function that 
needs a container for its arguments.

Client:go

This closes #1925.
2019-11-09 19:22:26 +00:00
Yuxuan 'fishy' Wang
4c27181a06 THRIFT-4914: Add TResponseHelper
This is the third part of THRIFT-4914, which handles the server writing
part in the response (server -> client direction).

Define a new type, TResponseHelper, which only contains THeader related
functions for now, but can be extended for other functions in the
future.

In TSimpleServer, inject a TResponseHelper into the context object
passed into the handler functions. Handler function code could retrieve
the injected TResponseHelper to set headers to be written to the client.

Client: go

This closes #1923.
2019-11-09 19:20:09 +00:00
zembord
50caa4de84 THRIFT-4990: Upgrade to .NET Core 3.0
Client: netstsd
Patch: Edward Zhuravlov

This closes #1921
2019-11-08 19:24:59 +01:00
Yuxuan 'fishy' Wang
963812ae62 THRIFT-4984: Handle wrapped io.EOF errors
TCompactProtocol (which is used by THeaderTransport to read headers)
could wrap the underlying error with TProtocolException, which breaks
err == io.EOF test in some cases.

Client: go

This closes #1922.
2019-11-08 09:02:00 +00:00
Kevin Wojniak
596e25f9b0 Fix unknown pragma warnings on mingw
Client: cpp
Patch: Kevin Wojniak

This closes #1917

These pragmas are only valid for MSVC. Fixes warnings found in the logs:

> In file included from C:\projects\thrift\lib\cpp\test\processor\ProcessorTest.cpp:40:
731C:\projects\thrift\lib\cpp\test\processor\Handlers.h:143: warning: ignoring #pragma warning  [-Wunknown-pragmas]
732  143 |   #pragma warning( push )
733      |
734C:\projects\thrift\lib\cpp\test\processor\Handlers.h:144: warning: ignoring #pragma warning  [-Wunknown-pragmas]
735  144 |   #pragma warning (disable : 4250 ) //inheriting methods via dominance
736      |
737C:\projects\thrift\lib\cpp\test\processor\Handlers.h:172: warning: ignoring #pragma warning  [-Wunknown-pragmas]
738  172 |   #pragma warning( pop )
739      |
2019-11-06 01:11:55 +01:00
Yuxuan 'fishy' Wang
4653009035 THRIFT-4984: Ignore EOF errors in TSimpleServer, take 2
This is a different approach to take THRIFT-4984: Instead of checking
EOF errors in place, handle them in a consolidated, deferred function.

Also improve test error messages.

Client: go

This closes #1907.
2019-11-05 21:31:13 +00:00
Eugen Kandakov
f7b2197916 THRIFT-4994 changed this to self in forEach callback
Client: nodejs
Patch: Eugen Kandakov

This closes #1918
2019-11-04 22:00:24 +01:00
Qinghui Xu
24045b7211 Fix indentation
Use white space for indentation instead of tabulation.
2019-11-04 10:21:47 +01:00
xiongjieqing
a5b2bf5b0b THRIFT-4992 thrift lua TcompactProtocol bug fix #1881
Client: Lua
Patch: xiongjieqing <xiongjieqing@gmail.com>
2019-11-03 19:07:13 +01:00
Jens Geyer
c5fadee94a Revert "thrift lua TcompactProtocol bug fix"
This reverts commit 3adb44aa26.
2019-11-03 19:07:04 +01:00
xiongjieqing
3adb44aa26 thrift lua TcompactProtocol bug fix 2019-11-03 18:59:39 +01:00
Kevin Wojniak
cf73b66cd8 Remove unused exception variable
Client: Python
Patch: Kevin Wojniak

This closes #1912

Fixes MSVC warning seen in logs:
> [00:11:03] src\ext/protocol.tcc(177): warning C4101: 'ex': unreferenced
> local variable [C:\projects\build\MSVC2015\x86\lib\py\python_build.vcxproj]
2019-11-03 18:42:11 +01:00
Kevin Wojniak
bc75467e44 Fix "thruth" typo
Client: Go
Patch: Kevin Wojniak

This closes #1911
2019-11-03 18:39:38 +01:00
Jens Geyer
43a93f1e6e fix typo in cmake
Patch: Jens Geyer

This closes #1910
2019-11-03 18:34:24 +01:00
Jens Geyer
ec439548c5 THRIFT-4990 Switch to .NET core 3.0
Client: netstsd
Patch: Jens Geyer

This closes #1909
2019-11-02 17:34:23 +01:00
Jens Geyer
9ea48f362a Fix PHP style errors (by means of phpcbf) [ci skip] 2019-11-02 12:24:12 +01:00
Yuxuan 'fishy' Wang
e4870a3571 THRIFT-4985: Refactor logging in Go library
- Add a new Logger type to make logging configurable
- Use the new logger in TSimpleServer and TDebugProtocol
- Remove pointless log in TZlibTransport
- Remove panic recovery from TSimpleServer. Thrift shouldn't catch panics caused by caller-defined RPC handlers.

Client: go

This closes #1906.
2019-10-24 21:23:30 +01:00
Yuxuan 'fishy' Wang
c03e2aa196 THRIFT-4984: Ignore EOF error in TSimpleServer ReadFrame call
EOF isn't an error that should be bubbled up to the 
caller and we are already ignoring other EOF errors in 
TSimpleServer.processRequest [0].

Client: go

This closes #1904.

[0]: cecee50308/lib/go/thrift/simple_server.go (L265-L266)
2019-10-23 21:43:09 +01:00
Qinghui Xu
9cb1c794cd THRIFT-4252: Close sockets when shut down server
In TThreadPoolServer, threads are blocking in io with open sockets,
as long as clients don't close the connection, server threads are
never stopped even after a shutdown is called on server (because
they are blocked waiting for io).
To be able to stop all server threads properly, server should
proactively close sockets once a shutdown is initiated.
2019-10-23 20:45:33 +02:00
pengzhouhu
6e4c581fdd THRIFT-4949: Improve HTTP/1 server test case
Client: java

This closes #1886.
2019-10-21 15:21:11 +01:00
Jens Geyer
3f3567a114 THRIFT-4981 Remove deprecated netcore bindings from the code base
Client: netcore
Patch: Jens Geyer

This closes #1901
2019-10-20 16:21:29 +02:00
Jens Geyer
616df98f00 fix veralign.sh and bump version (again) 2019-10-20 00:12:14 +02:00
D. Can Celasun
76fa8c9a81
Update Java dependencies
Update most dependencies to their latest versions, replace findbugs with
spotbugs as the former is dead and was replaced with the latter.

Fixes THRIFT-4937.

Client: java
2019-10-18 15:15:45 +01:00
pengzhouhu
9f0548e05f THRIFT-4952 Modified ssl_read feedback value break all the time error.
Client: c_glib
Patch: pengzhouhu <pengzhouhu@huawei.com>

This closes #1869
2019-10-18 00:26:47 +02:00
Jens Geyer
5fe31ea7d7 bump version 2019-10-17 23:51:36 +02:00
Jens Geyer
4286054d3d Merge branch '0.13.0' 2019-10-17 23:49:41 +02:00
Jens Geyer
b75e88a33d FIX netstd assembly version 2019-10-17 23:47:40 +02:00
Jens Geyer
dd14e869ce Fix PHP style errors (by means of phpcbf) 2019-10-17 20:54:34 +02:00
Jens Geyer
e02559fd46 bump version
This closes #1899
2019-10-17 20:31:24 +02:00
Mario Emmenlauer
0f14e2f3f6 THRIFT-4977: Allow loading OpenSSL certificates from memory
Client: cpp

This closes #1860.
2019-10-15 10:25:10 +01:00
wineandcheeze
ab89b8b40e THRIFT-2530: Fix TIOStreamTransport#isOpen
isOpen should return false when close is called.

Client: java

This closes #1878.
2019-10-10 12:50:50 +01:00
Jens Geyer
224b43ec7e THRIFT-4874: Thrift 0.12.0 Source Distribution (.tar.gz) Contains Hardlinks - Extract Fails
Client: Build system
Patch: Jens Geyer

This closes #1894

The patch contains a modified version of tar.m4. The --hard-dereference option prevents from a situation, where symlinks (used in the compiler/src subtree) get converted into hard links.
2019-10-10 01:28:55 +02:00
wineandcheeze
904f5619a9 THRIFT-4858: Add error message to TTransportException
When the socket is closed (EOF of the inputstream), currently
TIOStreamTransport throws an TTransportException without message,
this is sometimes confusing for people maintaining a thrift server
(eg. apache hive).

Client: java

This closes #1876.
2019-10-09 09:27:23 +01:00
pengzhouhu
a152a0ad88 THRIFT-4945: Fix non-standard log output
Client: java

This closes #1862.
2019-10-08 23:18:30 +01:00
HIRANO Satoshi
8098428901 Add Node.js example for browsers
Client: js

This closes #1864.
2019-10-08 23:06:30 +01:00
Ben Evans
dfa74bc99e Upgrade to Gradle 5.6.2
This closes #1882.
2019-10-08 22:54:08 +01:00
Kengo Seki
5a8cd9d1fb THRIFT-4971: Fix lib/rb/spec/union_spec.rb so that CI succeeds
Client: Ruby
Patch: Kengo Seki

This closes #1891
2019-10-06 12:17:19 +02:00
Allen George
786c019476
Merge pull request #1870 from dbcfd/thrift-4953
THRIFT-4953: Missing Field Identifiers
2019-09-23 08:41:30 -04:00
pengzhouhu
2d03630b61 THRIFT-4950 fix bind print error and Macro call errors thrift_server_socket
Client: C_glib
Patch: pengzhouhu

This closes #1867
2019-09-22 11:38:29 +02:00
Guillaume Blanc
5e9203b2b2 THRIFT-4962 Fix deadlock in TimerManager::stop
Client: cpp
Author: Guillaume Blanc

This closes #1877
2019-09-21 14:40:15 +02:00
Ewan Higgs
b3745eea10 THRIFT-4932: Using a default string on a binary field results in invalid Java code.
Client: Java
Patch: Ewan Higgs

This closes #1875.
2019-09-20 16:15:04 +01:00
Danny Browning
77d96c18c3 THRIFT-4960 bare trait (dyn) warnings
Client: Rust
Patch: Danny Browning

This closes #1851
2019-09-11 23:35:26 +02:00
Vladimir Arkhipov
f1bc6aef7d Fix typo in xml comment
Client: C#
Patch: Vladimir Arkhipov

This closes #1874
2019-09-11 23:11:46 +02:00
Jens Geyer
b7bd211699 Prevent "Log file size too large" messages during CI tests 2019-09-11 22:52:40 +02:00
Jens Geyer
8ff8abd6f2 THRIFT-4957 testSanePartsOfCompactProtoTestStruct FAILED
Client: Java
Patch: Jens Geyer

This closes #1873
2019-09-11 00:41:49 +02:00
Danny Browning
236032a8af THRIFT-4953: Missing Field Identifiers
When identifiers are not specified, negative id will be converted to a valid
rust identifier.
2019-09-06 10:40:53 -06:00
Danny Browning
942bd8403b Bare Trait Warnings
Fixes bare trait (dyn) warnings in the library as well as generated code.
2019-09-06 10:28:24 -06:00
Jens Geyer
a715f701bf THRIFT-4944 Field IDs > 255 fail with compact protocol
Cliwent: Delphi
Patch: Jens Geyer
2019-08-28 22:56:35 +02:00
Jens Geyer
a4fc3d42e9 THRIFT-4907 strong named assemblies wanted
Client: netstd
Patch: Jens Geyer

This closes #1854
2019-08-25 14:04:58 +02:00
Alex-Rud
693e19cf48 THRIFT-4939 TThriftListImpl<T>.Sort() does not use comparer
Client: Delphi
Patch: Alex-Rud <Alex.van.rudik@gmail.com>
2019-08-25 00:20:55 +02:00
Issacpeng
81f5e10ec4 THRIFT-4865:Replace expired Charsets with StandardCharsets
Client: Java
Patch: Issacpeng <pengzhouhu@huawei.com>

This closes #1846
2019-08-24 16:13:34 +02:00
pengzhouhu
2ff4b13df4 THRIFT-4936 add depth limit type exception description
Client: C++
Patch: pengzhouhu

This closes #1852
2019-08-22 22:43:15 +02:00
Jens Geyer
9cf37be1f1 THRIFT-4919 THttpTransport.cs (netstd) and THttpClientTransport (netcore) have bad timeout code
Patch: Jens Geyer

This closes #1847
2019-08-20 21:28:38 +02:00
Yuxuan 'fishy' Wang
26ef904600 THRIFT-4914: Send context THeaders for client writes
Client: go

This is the second part of THRIFT-4914, which handles the client writing
part in the requests (client -> server direction).

In TStandardClient, when the context has write headers set, and the
protocol is THeaderProtocol, automatically extract all headers from the
context object and set to THeaderProtocol to send over the wire.

Client code can set headers into the context object by using the helper
functions in header_context.go.

Note that we have separated keys for read and write header key list, so
that for code that's both a server and a client (example: a server that
calls other upstream thrift servers), they don't automatically forward
all headers to their upstream servers, and need to explicitly set which
headers to forward.

In order to make auto forwarding easier, also add SetForwardHeaders
function to TSimpleServer, which will help the users to auto forward
selected headers.

This closes #1845.
2019-08-19 08:18:22 +01:00
Yuxuan 'fishy' Wang
b1002a71fb THRIFT-4914: Add THeader to context for server reads
Client: go

This is the first part of THRIFT-4914, which handles the server reading
part in the requests (client -> server direction).

In TSimpleServer, when the protocol is THeaderProtocol automatically
add all present headers into the context object before passing
it to processor, so the processor code can access headers from the
context directly by using the new helper functions added in
header_context.go.

This closes #1840.
2019-08-05 21:03:02 +01:00
Yuxuan 'fishy' Wang
6ae2b189ef THRIFT-4612: Avoid double wrapping THeaderTransport
Client: go

Previously the library didn't check against double wrapping, so when
NewTSimpleServerN was used with both THeaderTransportFactory and
THeaderProtocolFactory, inside THeaderProtocolFactory the transport 
was double wrapped with THeaderTransport.

Worse, the transport still appeared to work, because THeaderTransport 
is backwards compatible with TBinaryProtocol and TCompactProtocol
so the outer layer of THeaderTransport wrapper (the one directly accessible 
from the protocol) would assume the client doesn't support THeader and 
fallback. So when double wrapping happened, it appeared like everything 
was fine, except you couldn't get the headers from the protocol (because 
they were in the inner THeaderTransport, not the outer one that's directly 
accessible from the protocol), making it very hard to debug.

This commit adds protection against such double wrapping.

This closes #1839.
2019-08-05 12:59:08 +01:00
Craig Wickesser
bb311a772e Add pointer helpers for missing types 2019-07-27 16:48:57 -04:00
Yuxuan 'fishy' Wang
ebb6b2ed68 THRIFT-4612: Add THeaderTransportFactory to go library
Client: go

This was supposed to be in 4d46c11, but was forgotten.

Closes #1832.
2019-07-24 16:42:06 +01:00
guozhu cheng
4c847372eb THRIFT-4908: remove reader&writer in Golang's TBinaryProtocol
Client: go

This closes #1831.
2019-07-15 12:46:25 +01:00
Beluga Behr
286eee16b1 THRIFT-4849: Do not Ignore InterruptedException 2019-07-08 13:07:04 -04:00
fmalaguti
234e80e1b9 THRIFT-4844: createConnection ignores connect_timeout option 2019-07-08 13:06:21 -04:00
James E. King III
178891f7d6 THRIFT-4805: Fixed readme files 2019-07-08 09:56:59 -04:00
Mithun RK
c35ed736d2 THRIFT-4805: Suppress excessive logging of SASL TTransportExceptions in case of END_OF_FILE
Two fixes here:

1. Additional logic to properly catch and handle TTransportException.
   Currently, T(SASL)TransportException gets caught and handled in
   the wrong catch-block.
2. The fix for THRIFT-3769 mutes _all_ TTransportExceptions in TThreadPoolServer.
   This might mute legitimate failures. The intent of THRIFT-3769 (and
   THRIFT-2268) was to mute the noise caused by TTransportException.END_OF_FILE.
   This commit lets legitimate failures to be bubbled upwards.
2019-07-08 09:56:59 -04:00
Antoine Cœur
08a6eb6e1f THRIFT-4902: Swift 4 and 5 compatibility (#1827) 2019-07-08 06:42:09 -04:00
James E. King III
3131fe975c THRIFT-4904: Fix python unit test errors and exception escapes
Due to the way SSL layers on top of sockets, it was possible
to complete a connection and then have the server close it.
This would happen if the client is not checking certificates
but the server is.  The TSSLSocket unit test was enhanced to
do a read and a write as well as just connecting to ensure a
more complete test.

The TSocket read() and write() calls were leaking OSError,
socker.error, and ssl.Error exceptions.  These cases are now
wrapped into a TTransportException of the appropriate type,
and the original exception is added as an argument named inner.
2019-07-07 12:16:52 -04:00
James E. King III
93ff9b0053 Update language levels, fix erlang and rust in CI
- Include rebar3 in docker image so erlang builds in CI
- Include the correct path in docker image so rust builds in CI
- Updated common lisp (sbcl) to 1.5.3 in docker image
- Updated dlang to 2.087.0 in docker image
- Updated dart to 2.0.0 in xenial docker image
- Updated dart to 2.4.0 in bionic docker image
- Updated erlang to 22.0 in docker image
- Updated openjdk to 11.0.3 in docker image
- Updated node.js to 10.16 in docker image
- Updated rust to 1.34.0 in xenial docker image
- Updated rust to 1.35.0 in bionic docker image

THRIFT-4905: Disable hanging experimental dlang async ssl test
2019-07-07 12:16:52 -04:00
Shaoyu Zhang
1a2dee60b4 Use THRIFT_WRITE instead of ::write in TFileTransport.cpp 2019-07-01 20:15:03 -04:00
soroshsabz
6a61dfabbf THRIFT-4830: Add to_string helper function for cpp generator (#1765) 2019-07-01 20:13:54 -04:00
Gonzalo Aguilar Delgado
9b49c96a6a THRIFT-4842 - Fix memory leak on set property c_glib (#1773) 2019-07-01 20:13:09 -04:00
Kevin Wojniak
6c847d2d02 THRIFT-4878 - [c_glib] add unix domain socket support to ThriftSocket (#1807) 2019-07-01 20:11:56 -04:00
Kevin Wojniak
a392566e9b THRIFT-4896 - prevent cpp and c_glib include directories from leaking into other targets (#1821)
- enable the automake `nostdinc` option
- fix up include paths
2019-07-01 14:07:45 -04:00
John Boiles
d9019fc5a4 THRIFT-4797: Fix import collisions in Go
Client: go

This closes #1811.
2019-06-29 07:07:10 +01:00
Jens Geyer
bd1a273ab7 THRIFT-4898 Pipe write operations across a network are limited to 65,535 bytes per write.
Client: netstd
Patch: Jens Geyer

This closes #1823
2019-06-27 21:30:25 +02:00
Jens Geyer
62238d1a6c THRIFT-4886 More detailed error information for WinHTTP transport
Client: Delphi
Patch: Jens Geyer
2019-06-26 20:53:22 +02:00
Jens Geyer
1e808af7b3 THRIFT-4893 Enable automatic content encoding handling for gzip,deflate in the HTTP client
Client: netstd
Patch: Jens Geyer

This closes #1818
2019-06-22 10:27:57 +02:00
Jens Geyer
19505c3de3 THRIFT-4894 Enable automatic content encoding handling for gzip,deflate in the WinHTTP client
Client: Delphi
Patch: Jens Geyer
2019-06-22 01:03:55 +02:00
antbofh
95870f06cd THRIFT-4892: fixed data type conflict with simultaneous usage of bytes and str (#1804) 2019-06-21 15:33:55 -04:00
David Carlier
29ecfaba53 CPP generator test, catching exceptions by ref instead. 2019-06-21 07:30:13 -04:00
Mustafa Senol Cosar
3f0d444791 Implement episodic compilation for js code generation 2019-06-21 06:38:32 -04:00
Jens Geyer
433a649a36 THRIFT-4886 More detailed error information for WinHTTP transport
Client: Delphi
Patch: Jens Geyer
2019-06-19 23:32:19 +02:00
Yuxuan 'fishy' Wang
4d46c11244 THRIFT-4612: THeader support in go library
Client: go

Implement THeaderTransport and THeaderProtocol, with support of:

* clients:
  - headers
  - framedBinary
  - unframedBinary
  - framedCompact
  - unframedCompact
* transforms:
  - none
  - zlib
* info types:
  - key_value
* wrapped protocols:
  - TBinary
  - TCompact

The support list is in general on par of the THeader implementation in
the python library.

The cross-test passes, except ones related to cpp/nodejs http transport,
which were also failing for non-theader protocols.

This change also fixes two bugs:

1. A small issue in test/go/src/bin/testserver/main.go
2. A bug in TFrameTransport go implementation
2019-06-19 22:52:24 +02:00
Kyle Smith
823474ec89 THRIFT-4848: Add ability to set Content-Type,Accept headers in HTTP client
Client: netstd
Patch: Kyle Smith

This closes #1801
2019-06-14 22:42:15 +02:00
Jens Geyer
19fdca82c2 THRIFT-4886 More detailed error information for WinHTTP transport
Client: Delphi
Patch: Jens Geyer
2019-06-12 22:09:58 +02:00
Jens Geyer
b342bd9a61 THRIFT-4884 Add serialisation performance test for Delphi
Client: Delphi
Patch: Jens Geyer
2019-06-07 22:31:26 +02:00
Jens Geyer
83ff753777 THRIFT-4882 Autodetect proxy settings with WinHTTP
Client: Delphi
Patch: Jens Geyer
2019-06-07 22:26:55 +02:00
Jens Geyer
47f6317336 THRIFT-4881 Allow TLS1.1 and TLS1.2 even when not configured as systemwide default
Client: Delphi
Patch: Jens Geyer
2019-06-07 22:26:53 +02:00
Jens Geyer
936944384f THRIFT-4879 general performance improvements for netstd library
Client: netstd
Patch: Jens Geyer

Removing obsolete (and finally incorrect) assertion.
2019-06-05 22:03:14 +02:00
Jens Geyer
5a17b13ebc THRIFT-4879 general performance improvements for netstd library
Client: netstd
Patch: Jens Geyer

This closes #1808
2019-06-04 22:31:58 +02:00
James E. King III
057bebc1c3 Merge branch '0.12.1' 2019-05-26 14:59:04 -04:00
timestee
370d7513f0 spelling mistake, perhaps (#1803) [ci skip 2019-05-20 07:20:42 -04:00
Henrik Tudborg
c035eca3c6 hotfix: clear the offline queue when once written 2019-05-14 14:26:48 -04:00
Jeremy Mikkola
79c2337705 THRIFT-4845: Stop ignoring small timeouts
Client: php

CURLOPT_TIMEOUT requires a long [0], so it seems that small values
like 0.2 are being rounded to 0, resulting in a lack of any timeout.

This change uses CURLOPT_TIMEOUT_MS, which the PHP documentation
says was "added in cURL 7.16.2. Available since PHP 5.2.3."

[0] https://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT.html
2019-05-14 06:15:48 -04:00
James E. King III
b261f3c0f1 THRIFT-4857: [java] added a unit test for TField 2019-05-13 16:53:57 -04:00