Commit Graph

1666 Commits

Author SHA1 Message Date
James E. King III
393f6c93e1 THRIFT-3877: fix py/py3 server, java client with http transport
The java TestClient asks the server to runa  oneway request that
sleeps for 3 seconds.  If the java TestClient sees the duration
of the call exceed one second, it fails the test.  This means the
server did not participate in the "fire and forget" dynamics of
ONEWAY requests.  In this case the THttpServer was processing the
RPC before sending the transport response.  The fix was to enhance
the TProcessor so that the THttpServer has an opportunity to inspect
the message header before processing the RPC.

This is partly due to the violation of the THttpServer in the
layered architecture.  It is essentially implementing a combined
server and transport, whereas there should be a distinct server,
protocol, and transport separation.  Many languages seem to have
this problem where HTTP was introduced.
2019-02-11 17:46:30 -05:00
cyy
647501693b THRIFT-4776:Modernize c++11 code by clang-tidy (#1732)
* use override
* use make_shared
* use emplace
* use range for
* fix error on MSVC
* replace boost functions with std functions
* fix static analyzer warnings
* check api return value
* initialize member
* check the return value of SSL_peek > 0
* add override
2019-02-08 00:40:59 -05:00
James E. King III
4c57be0b60 THRIFT-4384: fix concurrent sync in cpp async client code 2019-02-02 22:10:41 -05:00
James E. King III
53bd0e6295 THRIFT-4745: fixes compiler warnings 2019-02-01 11:13:49 -05:00
Sebastian Zenker
2ec93c8a2d THRIFT-4763: HTML compiler produces invalid HTML document (#1720)
* HTML: the html generator did generate a closing </code> tag without a match <code>
* THRIFT-4763: added HTML test and fixed up additional HTML generation issues
2019-01-30 20:14:27 -05:00
Sebastian Zenker
042580f534 THRIFT-4762: Applied some C++11 refactorings to the runtime library and compiler (#1719)
* make use of C++11 override keyword
* added const specifier to TTransport::getOrigin()
* added more const correctness to the compiler
* make use of auto keyword
* replaced usage of NULL with nullptr
* make use of explicitly-defaulted function definition
* extended changelog
2019-01-29 09:48:12 -05:00
Jens Geyer
aa0c8b35d8 THRIFT-4723 Consolidate C#/netcore into new netstd language target
Client: netstd
Patch: Jens Geyer

This closes #1710
2019-01-28 23:12:28 +01:00
James E. King III
29f7f8f32f THRIFT-4743: remove cpp compiler plugin support to simplify the project 2019-01-26 23:53:38 -05:00
Mustafa Senol Cosar
129bb3e10d THRIFT-4675: Fix int64 constants generation for map keys 2019-01-25 10:03:37 -05:00
Jens Geyer
67fbc1f615 THRIFT-4722 Netcore union "data" should be strongly-typed
Client: netcore
Patch: Jens Geyer
2019-01-24 12:29:33 -05:00
Jens Geyer
f5de98aab3 THRIFT-4715 C# union "data" should be strongly-typed
Client: C#
Patch: Jens Geyer
2019-01-24 12:28:09 -05:00
James E. King III
b1d63e7190 THRIFT-4750: as3 changes to build and publish to maven central 2019-01-24 12:20:30 -05:00
Mustafa Senol Cosar
0c93bb6903 THRIFT-4738: Fix typescript declaration generation 2019-01-22 11:14:05 -05:00
James E. King III
dd63da19fa
Merge pull request #1690 from cyyever/const_members
THRIFT-4740:Use std::chrono for timeout and add const to some methods.
2019-01-22 09:40:21 -05:00
Renan Cakirerk
c28a739b8c THRIFT-4747: The 'omitempty' tag should not be appended to optional fields that have a default value 2019-01-21 22:25:40 -05:00
Rob Becker
f1eadad76e THRIFT-4654 Minor fixes for dart 1 & 2 compatibility (backwards compatible) (#1617)
* THRIFT-4654 Minor fixes for dart 1 & 2 compatibility
* update dockerfiles for CI to test dart 2
* THRIFT-4654 update pubspec for tests
* THRIFT-4654 update dart test generator and readme to 1.24.3
* THRIFT-4654 update generated dart sdk to a range
* fix the dart tutorials
* Add .dart_tool directories to .gitignore
* THRIFT-4654: use dart 2.1.0 and fix cross test dart client timeout
2019-01-21 22:24:01 -05:00
cyy
9fed90104c fix static analyzer warings 2019-01-22 10:38:15 +08:00
Jens Geyer
3b280d1ee2 THRIFT-4744 Erlang help intendation not aligned
Client: Erlang
Patch: Jens Geyer
2019-01-20 12:38:36 +01:00
Mustafa Senol Cosar
f86845e8ed THRIFT-4675: Generate Int64 constants for js 2019-01-15 09:20:54 -05:00
James E. King III
234fb47229 THRIFT-4719: remove cocoa 2019-01-14 08:13:52 -05:00
James E. King III
1735542542 THRIFT-4735: Remove Qt4 build support 2019-01-13 09:01:52 -05:00
James E. King III
278528cf7b THRIFT-4732: windows cmake refinements and add windows docker build support 2019-01-11 20:47:00 -05:00
James E. King III
c9ac8d2953 THRIFT-4720: documenting breaking changes, minor cleanup 2019-01-09 17:05:34 -05:00
cyy
0140cbf567 remove unused variables 2019-01-07 08:11:37 -05:00
cyy
316723add4 remove stdcxx namespace and use std directly 2019-01-07 08:11:37 -05:00
cyy
e42cf5023e use noexcept instead of throw() in compiler generated code 2019-01-07 08:11:37 -05:00
Shaoyu Zhang
087d88108d THRIFT-4684: Fix WCF related C# code generation
Client: C#
Complete the namespace in System.ServiceModel in WCF related code.
Also when generating fields in fault classes, we follow the same behavior in normal struct,
to avoid generating unused private fields, when auto properties are also generated.
2018-12-25 12:53:52 -05:00
James E. King III
9b75e4fe74 THRIFT-4680: fix up std::min, std::max, and numeric limits min/max on Windows; remove NOMINMAX from cmake build 2018-12-18 10:17:57 -05:00
louyl
9c3d2d6c0a Fix build compiler with cmake 2018-12-10 08:35:09 -05:00
wilfrem
2c69b5a01e THRIFT-3143: Add nodets support
Co-authored-by: Mustafa Senol Cosar <cosar.mustafasenol@gmail.com>
2018-11-29 15:28:44 -05:00
Jens Geyer
b073e1438d THRIFT-4672 IAsyncResult style methods not being supported by certain transports leads to issues in mixed ISync/IAsync use cases
Client: C#
Patch: Jens Geyer

This closes #1633
2018-11-24 21:46:53 +01:00
Palmer Cox
5112afcc97 THRIFT-4670: Twisted, slots, and void method fails with "object has no attribute 'success'"
For a void method, there is no success value, so, it is an error to
attempt to assign one to the result object. This error is harmless
unless slots is also specified - with slots specified, the attempt to
assign to a non-existent field causes an error which makes the service
method fail.

Client: py
2018-11-22 08:17:15 -05:00
GREATEST Wiggler EvaR!
0882354f28 Fix function name in Rust generator (does not affect generated code)
Client: rs
2018-11-16 15:50:17 -05:00
GREATEST Wiggler EvaR!
b57d126157 THRIFT-4529: Rust enum variants are now camel-cased
Client: rs
2018-11-12 07:57:43 -05:00
jake-ruyi
6436899e47 THRIFT-4662: Rust const string calls function at compile time
Client: rs
2018-11-12 07:51:25 -05:00
jake-ruyi
d5bd2005ea THRIFT-4661: Rust enum name wrong case in generated structs
Client: rs
2018-11-09 17:56:25 -05:00
Lázaro Clapp
fed4977027 THRIFT-4660: Include Generated and Nullable as needed for enums
Client: Java
2018-11-06 07:55:55 +01:00
Manu Sridharan
f216dfb716 THRIFT-4657: Include @javax.annotation.Generated annotations for generated Java union classes
Client: Java
2018-11-03 07:45:50 +01:00
bforbis
da1169d75b THRIFT-4653: ES6 classes support (#1615)
* ES6 classes support
* Lint generated code
* ES6 Tests for NodeJS
* Add eslint rules for nodejs
* Run prettier/eslint on nodejs test code
2018-10-28 11:27:38 -04:00
D. Can Celasun
9ee29516c4 Replace git.apache.org imports with github.com
Client: go
2018-10-19 07:48:56 +01:00
Dean Hamstead
8a130f63e5 THRIFT-4382: Replace the use of Indirect Object Syntax calls to new() 2018-10-17 19:13:45 -04:00
Craig Wickesser
5c1ecb67cd THRIFT-4650: fix required fields incorrectly being marked as set
This closes #1610.

Client: go
2018-10-16 07:40:13 +01:00
Simon South
2853da436f THRIFT-4648: Use correct namespace in type names
Client: c_glib
2018-10-12 07:35:39 -04:00
David Walker
031f57122f THRIFT-4646: change dart generation of exception to exception
Generator: Dart
2018-10-04 15:44:02 -04:00
Tsuzu
14190de4cb THRIFT-4644: Compiler cannot be compiled on macOS (#1601)
Client: compiler
2018-10-03 07:57:17 -04:00
nsrtvwls
014f53f658 THRIFT-4496: python specific list of keywords for python generator (#1567)
Client: py
2018-09-28 11:11:21 -04:00
Brian Forbis
b5d6ea390f THRIFT-4625: Use let/const variable decorators in ES6 Javascript 2018-09-28 10:36:55 -04:00
Jens Geyer
0f6e52abcc THRIFT-4637 C# async mode generates incorrect code with inherited services
Client: C#
Patch: Jens Geyer
2018-09-16 07:02:55 -04:00
Charles Giardina
180888820a THRIFT-4631 Fix Ruby codegen to gen valid ruby for recursive structs 2018-09-15 09:47:14 -04:00
Chris Simpson
612fdd871c Better consistency with module names, fix module name for Errors 2018-09-13 07:50:24 -04:00
Simon South
8de3749235 THRIFT-4622: Resolve typedef'd list-element type
Client: c_glib
2018-08-29 08:03:07 -04:00
Flavien Raynaud
3f5f0f82a7 THRIFT-4617: Prepend service-specific struct names with service name (#1578)
Client: rs
2018-08-28 23:55:15 -04:00
Manu Sridharan
831819c563 THRIFT-4614: Generate missing @Nullable annotation (#1577)
Client: Java
2018-08-07 06:40:38 +01:00
bforbis
f2867c2498 THRIFT-3950: Memory leak while calling oneway methods (#1568)
* THRIFT-3950: Memory leak while calling oneway methods
* THRIFT-3950: Update NodeJS Oneway tests
2018-07-17 12:19:49 -04:00
Kevin Carbone
e7fa464584 THRIFT-4586: Cocoa generator generates NSString with copy instead of strong.
Client: [cocoa]
2018-07-03 08:18:54 -04:00
Brian Forbis
d7b635f784 THRIFT-4225: Delete callback if RPC send failed 2018-06-27 08:48:18 -04:00
Brian Forbis
896c206c56 THRIFT-4564: Reset buffered transport on serizliation errors 2018-06-21 20:48:16 -04:00
D. Can Celasun
88591e32e7
THRIFT-4573 Support binary fields in union counts
This commit also fixes another, related issue: Since union support was
added in b3654df, `Count*` methods (and count checks in `Write`
methods) were only generated if there was at least 1 pointer field.

But pointer fields are not the only nullable types in Go, slices and
maps can also be set the nil, which are now taken into account.

Client: go
2018-05-17 10:26:09 +02:00
McGradyDa
8672394ade Simplify the rust code generated by the generator (#1553)
Client: rs
2018-05-09 08:51:31 -04:00
Jens Geyer
92d80629ac THRIFT-4562 Calling wrong exception CTOR leads to "call failed: unknown result" instead of the real exception being thrown
Client: Delphi
Patch: Jens Geyer

This closes #1551
2018-05-03 09:04:05 +02:00
nicaro
c7aa68bd59 Thrift 4556: Optional rethrow of unhandled exceptions in java processor (#1544)
Client: java
2018-05-01 09:07:50 -04:00
Mustafa Senol Cosar
09c1f3719c THRIFT-4532: Do not update previously generated output files if the contents have not changed 2018-05-01 07:53:52 -04:00
Pierre Mignolet
4a00fc658a THRIFT-4558 normalize name in C# constructor
Client: csharp
Patch: Pierre Mignolet <p.mignolet@evs.com>

This closes #1546
2018-04-17 22:12:17 +02:00
Ben Podgursky
50bfc56d5d THRIFT-4555 Optionally disable copies of binary fields in constructors, getters and setters.
Client: java

This closes #1540.
2018-04-17 07:21:46 +01:00
Jens Geyer
c564651dd4 THRIFT-4554 uncompileable code with member names that are also types under specific conditions
Client: Delphi
Patch: Jens Geyer

This closes #1539
2018-04-14 00:51:41 +02:00
Davin Chia
b9d5fb25e4 THRIFT-4253: Fix for constant assignments to optional fields in Go. (#1311)
Client: go
2018-04-09 08:04:42 -04:00
Chris Simpson
a9b6c7039b THRIFT-3773: Swift 3 changes, Squashed (#1084)
Client: swift
2018-04-08 07:11:37 -04:00
Manu Sridharan
930428438c
THRIFT-4530: add @Nullable annotations to generated Java code
Use our own `org.apache.thrift.annotations.Nullable` type to avoid
introducing a third-party dependency

Client: java

This closes #1522.
2018-03-29 14:53:36 +02:00
Margar Simonyan
46fec41738
THRIFT-4531: Fix generated Python read() method for immutable structs with optional members
Client: python

This closes #1521.
2018-03-28 10:35:16 +02:00
Roman Soroka
a8a97bde9e THRIFT-4513: fix bug in comparator introduced by e58f75d
This closes #1517
2018-03-22 11:30:14 -04:00
Ozan Can Altiok
e46419b5ec THRIFT-4476: Typecasting problem on double list items,
emitting doubles with high precision
Client: cpp
Client: erl
Client: java
Client: js
Client: py

This closes #1511
2018-03-20 16:28:15 -04:00
Robert Lu
68707d9219
THRIFT-4474: Use PSR-4 autoloader by default
Client: php

This closes #1479
2018-03-15 11:05:30 +01:00
Roman Soroka
e58f75daa8 THRIFT-4513: Fix thrift compiler to generate constants in stable order.
This closes #1505
2018-03-14 13:07:10 -04:00
John Boiles
5785279e2e THRIFT-4448: Golang: do something with context.Context. Remove Go1.6 compatibility.
Client: go

This closes #1459
2018-03-12 18:35:17 -04:00
David Hull
fe50feae7e THRIFT-4497: Use map() field type for Erlang type for map struct fields.
Client: erl

The Thrift Erlang code generator previously generated fields with the
`#{}` Erlang type for maps fields.  In the Erlang type specification
languages, however, `#{}` specifically means an empty map.  This commit
fixes the code to emit `map()` instead, which means the maps keys and
values may be of any type.

It would be possible to emit a field type such as
`${keytype() => maptype()}`, but this commit does not do that.

This closes #1495
2018-03-09 18:32:36 -05:00
David Hull
1918b21d1c THRIFT-4495: Allow undefined for non-required Erlang records fields.
Client: erl

As of Erlang 19, the dialyzer static type-analysis tool no longer
implicitly adds `undefined` to the allowed types for a field.  This
means that dialyzer will now complain about any non-required fields
that are not explicitly initialed when creating a new record.

This closes #1494
2018-03-09 18:31:49 -05:00
James E. King III
860a5f1ff8 THRIFT-4508: change windows CI builds to use current MSVC, one cygwin and one mingw build 2018-03-06 18:17:41 -05:00
John Boiles
3b87c71ccb THFIFT-4486: golang: support https from generated clients
golang: don't generate -remote.go clients when there are no functions
golang: support for http headers in -remote clients
golang: serialize cli requests with TJsonProtocol since serialization is not supported with TSimpleJsonProtocol
Client: golang

This closes #1488
2018-03-03 13:20:04 -05:00
Tomek Kurcz
e93a901715 THRIFT-82: Add Common Lisp support
Client: cl

There's framed and buffered socket transport, binary protocol, multiplex, simple
server, cross-tests, self-tests, tutorial, CL library, CL code generator. Only
SBCL is supported for now.

This closes #1412
2018-03-02 13:44:50 -05:00
Robert Lu
e241265cb2 THRIFT-4463: Generated PHP code to match PSR-2
Client: php

* PHP ident with 4 space
* remove redundancy blank lines
* open bracket of function, class at new line
* remove hard-coded indent, use indent()
* add necessary visibility declaration for class field
* open bracket of flow control put end of line, not new line
* remove inline control structures
* add blank around equal symbol

This closes #1473
2018-01-24 00:08:23 -05:00
Volodymyr Gotra
54993296c4 THRIFT-4434: .NET Core cleanup and the beginnings of compiler unit tests
Client: netcore

This closes #1449
2018-01-14 08:39:32 -05:00
Chet Murthy
19a6493ff0 THRIFT-4399 plugin.thrift t_const_value is not used as a union in C++ code -- fix this
Client: compiler

This closes #1435
2018-01-10 23:49:29 -05:00
Chet Murthy
6ae4023052 THRIFT-4393: renumber GeneratorInput t_{type,etc...}_id
Client: compiler

This closes #1419
2018-01-10 23:45:56 -05:00
John Boiles
080e43ee8e THRIFT-4447: Fix panic on p.c.Call when using legacy initializers
Client: go

This closes #1461
2018-01-10 21:17:19 -05:00
Philip Frank
8fdd610ba7 THRIFT-4406: Optionally generate ES6 compatible JavaScript where service methods return Promises
includes tests and TypeScript support
Client: js

This closes #1452
2018-01-04 09:15:24 -05:00
Jens Geyer
14f5d500b9 THRIFT-4422 Add Async implementation via IFuture
Client: Delphi
Patch: Jens Geyer

This closes #1444
2017-12-14 00:00:03 +01:00
Jens Geyer
d30a7d1599 THRIFT-4400 Visual Studio Compiler project should link runtime statically in release builds
Client: Compiler (general)
Patch: Jens Geyer

This closes #1436
2017-12-02 17:17:48 +01:00
Nobuaki Sukegawa
3c420072ab THRIFT-3580 THeader for Haskell
Client: hs

This closes #820
This closes #1423
2017-11-30 16:15:25 -05:00
Nobuaki Sukegawa
af56286378 THRIFT-3610 Streamline exception handling in Python server handler
Client: py

This closes #842
This closes #1426
2017-11-30 12:36:52 -05:00
Nobuaki Sukegawa
66c3dbf2de THRIFT-3602 Make Tornado server send exception on unexpected handler error
Client: py

This closes #839
This closes #1425
2017-11-30 12:36:33 -05:00
Nobuaki Sukegawa
6f8264037c THRIFT-3600 Make TTwisted server send exception on unexpected handler error
Client: py

This closes #838
This closes #1424
2017-11-30 12:36:11 -05:00
Chet Murthy
35f987d45b THRIFT-4392 reorder structs in plugin.thrift
This fixes #1417
This closes #1413
2017-11-29 21:37:18 -05:00
Dylan Trotter
cde4d4181a Fix remote client for HTTP transport
Client: go

Assign parsedUrl to the variable in the outer scope instead of creating
a new one. Previously the outer parsedUrl was never assigned and was
therefore always empty.

This closes #1411
2017-11-20 07:34:01 -05:00
D. Can Celasun
4f77ab8e29 THRIFT-4285 Move TX/RX methods from gen. code to library
This change removes a lot of duplication from generated code and allows
the caller to customize how they can read from / write to the
transport.  Backwards compatible adapters make the change compatible
with existing code in use by consuming applications.

Client: Go

This closes #1382
2017-11-03 18:21:40 -07:00
James E. King, III
533405e3f8 THRIFT-4376: fix more high impact coverity defects
Led to the discovery of incorrect lua socket error handling.

This closes #1405
2017-10-29 07:05:47 -04:00
James E. King, III
43f4bf2fdd THRIFT-4376: fix a few high impact coverity defects:
1458947: memory leak in compiler
1458787: resource leak in c_glib led to discovery of assert() abuse
1459090: fix string.find result check in JSON processor (unlikely)

This closes #1404
2017-10-28 16:44:09 -04:00
Robert Lu
9dff0efc1e THRIFT-4356: fix segment fault for thrift_protocol
NOTE: drops php5 support for PHP extension (thrift_protocol)
however library still can support PHP5 as evidenced by CI build
Client: php

This closes #1385
This closes #1391
2017-10-25 08:57:04 -04:00
dhasenan
ba5e065aaa THRIFT-4305 Doc comments in dlang output
Client: d
Patch: Neia Neutuladh

This closes #1396
This closes #1395
2017-10-23 14:49:13 -04:00
James E. King, III
54ce558ba8 THRIFT-4365: Replaced indirect object syntax in perl compiler
Client: perl
Patch: Finn Isaac Norris Colman

This closes #1393
2017-10-20 08:33:38 -04:00
Jens Geyer
44701e82ad THRIFT-4306 Thrift imports not replicated to D service output
Client: D language
Patch: Neia Neutuladh
2017-10-19 23:16:32 +02:00