upfluence-thrift 1.1.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/ext/extconf.rb +1 -4
  3. data/lib/thrift/client.rb +31 -1
  4. data/lib/thrift/definition.rb +64 -0
  5. data/lib/thrift/exceptions.rb +5 -5
  6. data/lib/thrift/middleware.rb +50 -0
  7. data/lib/thrift/processor.rb +3 -3
  8. data/lib/thrift/struct.rb +10 -10
  9. data/lib/thrift/transport/base_transport.rb +9 -7
  10. data/lib/thrift/transport/server_socket.rb +6 -6
  11. data/lib/thrift/types/known/any.rb +179 -0
  12. data/lib/thrift/types/known/any_constants.rb +17 -0
  13. data/lib/thrift/types/known/any_types.rb +43 -0
  14. data/lib/thrift/types/known/duration.rb +27 -0
  15. data/lib/thrift/types/known/duration_constants.rb +17 -0
  16. data/lib/thrift/types/known/duration_types.rb +43 -0
  17. data/lib/thrift/types/known/timestamp.rb +31 -0
  18. data/lib/thrift/types/known/timestamp_constants.rb +17 -0
  19. data/lib/thrift/types/known/timestamp_types.rb +43 -0
  20. data/lib/thrift/types/value.rb +114 -0
  21. data/lib/thrift/types/value_constants.rb +15 -0
  22. data/lib/thrift/types/value_types.rb +213 -0
  23. data/lib/thrift/types.rb +4 -4
  24. data/lib/thrift.rb +6 -4
  25. data/spec/binary_protocol_spec_shared.rb +57 -60
  26. data/spec/client_spec.rb +2 -2
  27. data/spec/compact_protocol_spec.rb +26 -20
  28. data/spec/http_client_spec.rb +7 -20
  29. data/spec/nonblocking_server_spec.rb +1 -1
  30. data/spec/processor_spec.rb +1 -1
  31. data/spec/struct_spec.rb +2 -2
  32. data/spec/types/known/any_spec.rb +44 -0
  33. data/spec/types/known/duration_spec.rb +20 -0
  34. data/spec/types/known/timestamp_spec.rb +17 -0
  35. data/spec/types/value_spec.rb +43 -0
  36. data/spec/types_spec.rb +2 -2
  37. metadata +114 -150
  38. data/benchmark/gen-rb/benchmark_constants.rb +0 -11
  39. data/benchmark/gen-rb/benchmark_service.rb +0 -91
  40. data/benchmark/gen-rb/benchmark_types.rb +0 -10
  41. data/spec/gen-rb/base/base_service.rb +0 -91
  42. data/spec/gen-rb/base/base_service_constants.rb +0 -11
  43. data/spec/gen-rb/base/base_service_types.rb +0 -26
  44. data/spec/gen-rb/extended/extended_service.rb +0 -89
  45. data/spec/gen-rb/extended/extended_service_constants.rb +0 -11
  46. data/spec/gen-rb/extended/extended_service_types.rb +0 -12
  47. data/spec/gen-rb/flat/namespaced_nonblocking_service.rb +0 -299
  48. data/spec/gen-rb/flat/referenced_constants.rb +0 -11
  49. data/spec/gen-rb/flat/referenced_types.rb +0 -17
  50. data/spec/gen-rb/flat/thrift_namespaced_spec_constants.rb +0 -11
  51. data/spec/gen-rb/flat/thrift_namespaced_spec_types.rb +0 -28
  52. data/spec/gen-rb/namespaced_spec_namespace/namespaced_nonblocking_service.rb +0 -299
  53. data/spec/gen-rb/namespaced_spec_namespace/thrift_namespaced_spec_constants.rb +0 -11
  54. data/spec/gen-rb/namespaced_spec_namespace/thrift_namespaced_spec_types.rb +0 -28
  55. data/spec/gen-rb/nonblocking_service.rb +0 -299
  56. data/spec/gen-rb/other_namespace/referenced_constants.rb +0 -11
  57. data/spec/gen-rb/other_namespace/referenced_types.rb +0 -17
  58. data/spec/gen-rb/thrift_spec_constants.rb +0 -11
  59. data/spec/gen-rb/thrift_spec_types.rb +0 -538
  60. data/test/debug_proto/gen-rb/debug_proto_test_constants.rb +0 -274
  61. data/test/debug_proto/gen-rb/debug_proto_test_types.rb +0 -761
  62. data/test/debug_proto/gen-rb/empty_service.rb +0 -31
  63. data/test/debug_proto/gen-rb/inherited.rb +0 -90
  64. data/test/debug_proto/gen-rb/reverse_order_service.rb +0 -93
  65. data/test/debug_proto/gen-rb/service_for_exception_with_a_map.rb +0 -92
  66. data/test/debug_proto/gen-rb/srv.rb +0 -361
@@ -0,0 +1,17 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (2.3.0-upfluence)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'thrift'
8
+ require 'duration_types'
9
+
10
+ module Thrift
11
+ module Types
12
+ module Known
13
+ module Duration
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,43 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (2.3.0-upfluence)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'thrift'
8
+
9
+ module Thrift
10
+ module Types
11
+ module Known
12
+ module Duration
13
+ class Duration; end
14
+
15
+ class Duration
16
+ include ::Thrift::Struct, ::Thrift::Struct_Union
17
+
18
+ NAME = 'Duration'.freeze
19
+ NAMESPACE = 'types.known.duration'.freeze
20
+
21
+ THRIFT_FIELD_INDEX_SECONDS = 1
22
+ THRIFT_FIELD_INDEX_NANOS = 2
23
+
24
+ FIELDS = {
25
+ THRIFT_FIELD_INDEX_SECONDS => {type: ::Thrift::Types::I64, name: 'seconds'},
26
+ THRIFT_FIELD_INDEX_NANOS => {type: ::Thrift::Types::I32, name: 'nanos'}
27
+ }
28
+
29
+ def struct_fields; FIELDS; end
30
+
31
+ def validate
32
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field seconds is unset!') unless @seconds
33
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field nanos is unset!') unless @nanos
34
+ end
35
+
36
+ ::Thrift::Struct.generate_accessors self
37
+ ::Thrift.register_struct_type self
38
+ end
39
+
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,31 @@
1
+ require 'thrift/types/known/timestamp_types'
2
+
3
+ module Thrift
4
+ module Types
5
+ module Known
6
+ module Timestamp
7
+ class << self
8
+ def from_time(v)
9
+ Timestamp.from_time(v)
10
+ end
11
+
12
+ def now
13
+ from_time(Time.now)
14
+ end
15
+ end
16
+
17
+ class Timestamp
18
+ class << self
19
+ def from_time(v)
20
+ Timestamp.new(seconds: v.to_i, nanos: v.nsec)
21
+ end
22
+ end
23
+
24
+ def to_time
25
+ Time.at(seconds, nanos, :nsec)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,17 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (2.3.0-upfluence)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'thrift'
8
+ require 'timestamp_types'
9
+
10
+ module Thrift
11
+ module Types
12
+ module Known
13
+ module Timestamp
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,43 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (2.3.0-upfluence)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'thrift'
8
+
9
+ module Thrift
10
+ module Types
11
+ module Known
12
+ module Timestamp
13
+ class Timestamp; end
14
+
15
+ class Timestamp
16
+ include ::Thrift::Struct, ::Thrift::Struct_Union
17
+
18
+ NAME = 'Timestamp'.freeze
19
+ NAMESPACE = 'types.known.timestamp'.freeze
20
+
21
+ THRIFT_FIELD_INDEX_SECONDS = 1
22
+ THRIFT_FIELD_INDEX_NANOS = 2
23
+
24
+ FIELDS = {
25
+ THRIFT_FIELD_INDEX_SECONDS => {type: ::Thrift::Types::I64, name: 'seconds'},
26
+ THRIFT_FIELD_INDEX_NANOS => {type: ::Thrift::Types::I32, name: 'nanos'}
27
+ }
28
+
29
+ def struct_fields; FIELDS; end
30
+
31
+ def validate
32
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field seconds is unset!') unless @seconds
33
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field nanos is unset!') unless @nanos
34
+ end
35
+
36
+ ::Thrift::Struct.generate_accessors self
37
+ ::Thrift.register_struct_type self
38
+ end
39
+
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,114 @@
1
+ require 'thrift/types/value_types'
2
+
3
+ module Thrift
4
+ module Types
5
+ module Value
6
+ class ListValue
7
+ def to_array
8
+ values.map(&:to_object)
9
+ end
10
+
11
+ class << self
12
+ def from_array(v)
13
+ ListValue.new(values: v.map { |vv| Value.from_object(vv) })
14
+ end
15
+ end
16
+ end
17
+
18
+ class MapValue
19
+ def to_hash
20
+ entries.reduce({}) do |acc, e|
21
+ acc.merge(e.key.to_object => e.value.to_object)
22
+ end
23
+ end
24
+
25
+ class << self
26
+ def from_hash(v)
27
+ MapValue.new(
28
+ entries: v.reduce([]) do |acc, (k, vv)|
29
+ acc + [
30
+ MapEntry.new(
31
+ key: Value.from_object(k),
32
+ value: Value.from_object(vv)
33
+ )
34
+ ]
35
+ end
36
+ )
37
+ end
38
+ end
39
+ end
40
+
41
+ class StructValue
42
+ def to_hash
43
+ fields.reduce({}) do |acc, (k, v)|
44
+ acc.merge(k => v.to_object)
45
+ end
46
+ end
47
+
48
+ class << self
49
+ def from_object(v)
50
+ StructValue.new(
51
+ fields: v.instance_variables.reduce({}) do |acc, k|
52
+ acc.merge(
53
+ k.to_s[1..-1] => Value.from_object(v.instance_variable_get(k))
54
+ )
55
+ end
56
+ )
57
+ end
58
+ end
59
+ end
60
+
61
+ class << self
62
+ def from_object(v)
63
+ Value.from_object(v)
64
+ end
65
+ end
66
+
67
+ class Value
68
+ def to_object
69
+ case get_value.class
70
+ when NullValue
71
+ nil
72
+ when ListValue
73
+ list_value.to_array
74
+ when MapValue
75
+ map_value.to_hash
76
+ when StructValue
77
+ struct_value.to_hash
78
+ else
79
+ get_value
80
+ end
81
+ end
82
+
83
+ class << self
84
+ def from_object(v)
85
+ case v
86
+ when NilClass
87
+ Value.new(null_value: NullValue.new)
88
+ when Symbol
89
+ Value.new(string_value: v.to_s)
90
+ when String
91
+ if v.encoding.eql?(Encoding::UTF_8) && v.valid_encoding?
92
+ Value.new(string_value: v)
93
+ else
94
+ Value.new(binary_value: v)
95
+ end
96
+ when Integer
97
+ Value.new(integer_value: v)
98
+ when Float
99
+ Value.new(double_value: v)
100
+ when TrueClass, FalseClass
101
+ Value.new(bool_value: v)
102
+ when Array
103
+ Value.new(list_value: ListValue.from_array(v))
104
+ when Hash
105
+ Value.new(map_value: MapValue.from_hash(v))
106
+ else
107
+ Value.new(struct_value: StructValue.from_object(v))
108
+ end
109
+ end
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,15 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (2.3.0-upfluence)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'thrift'
8
+ require 'value_types'
9
+
10
+ module Thrift
11
+ module Types
12
+ module Value
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,213 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (2.3.0-upfluence)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'thrift'
8
+
9
+ module Thrift
10
+ module Types
11
+ module Value
12
+ class NullValue; end
13
+
14
+ class ListValue; end
15
+
16
+ class MapEntry; end
17
+
18
+ class MapValue; end
19
+
20
+ class StructValue; end
21
+
22
+ class Value < ::Thrift::Union; end
23
+
24
+ class NullValue
25
+ include ::Thrift::Struct, ::Thrift::Struct_Union
26
+
27
+ NAME = 'NullValue'.freeze
28
+ NAMESPACE = 'types.value'.freeze
29
+
30
+
31
+ FIELDS = {
32
+
33
+ }
34
+
35
+ def struct_fields; FIELDS; end
36
+
37
+ def validate
38
+ end
39
+
40
+ ::Thrift::Struct.generate_accessors self
41
+ ::Thrift.register_struct_type self
42
+ end
43
+
44
+ class ListValue
45
+ include ::Thrift::Struct, ::Thrift::Struct_Union
46
+
47
+ NAME = 'ListValue'.freeze
48
+ NAMESPACE = 'types.value'.freeze
49
+
50
+ THRIFT_FIELD_INDEX_VALUES = 1
51
+
52
+ FIELDS = {
53
+ THRIFT_FIELD_INDEX_VALUES => {type: ::Thrift::Types::LIST, name: 'values', element: {type: ::Thrift::Types::STRUCT, class: ::Thrift::Types::Value::Value}}
54
+ }
55
+
56
+ def struct_fields; FIELDS; end
57
+
58
+ def validate
59
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field values is unset!') unless @values
60
+ end
61
+
62
+ ::Thrift::Struct.generate_accessors self
63
+ ::Thrift.register_struct_type self
64
+ end
65
+
66
+ class MapEntry
67
+ include ::Thrift::Struct, ::Thrift::Struct_Union
68
+
69
+ NAME = 'MapEntry'.freeze
70
+ NAMESPACE = 'types.value'.freeze
71
+
72
+ THRIFT_FIELD_INDEX_KEY = 1
73
+ THRIFT_FIELD_INDEX_VALUE = 2
74
+
75
+ FIELDS = {
76
+ THRIFT_FIELD_INDEX_KEY => {type: ::Thrift::Types::STRUCT, name: 'key', class: ::Thrift::Types::Value::Value},
77
+ THRIFT_FIELD_INDEX_VALUE => {type: ::Thrift::Types::STRUCT, name: 'value', class: ::Thrift::Types::Value::Value}
78
+ }
79
+
80
+ def struct_fields; FIELDS; end
81
+
82
+ def validate
83
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field key is unset!') unless @key
84
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field value is unset!') unless @value
85
+ end
86
+
87
+ ::Thrift::Struct.generate_accessors self
88
+ ::Thrift.register_struct_type self
89
+ end
90
+
91
+ class MapValue
92
+ include ::Thrift::Struct, ::Thrift::Struct_Union
93
+
94
+ NAME = 'MapValue'.freeze
95
+ NAMESPACE = 'types.value'.freeze
96
+
97
+ THRIFT_FIELD_INDEX_ENTRIES = 1
98
+
99
+ FIELDS = {
100
+ THRIFT_FIELD_INDEX_ENTRIES => {type: ::Thrift::Types::LIST, name: 'entries', element: {type: ::Thrift::Types::STRUCT, class: ::Thrift::Types::Value::MapEntry}}
101
+ }
102
+
103
+ def struct_fields; FIELDS; end
104
+
105
+ def validate
106
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field entries is unset!') unless @entries
107
+ end
108
+
109
+ ::Thrift::Struct.generate_accessors self
110
+ ::Thrift.register_struct_type self
111
+ end
112
+
113
+ class StructValue
114
+ include ::Thrift::Struct, ::Thrift::Struct_Union
115
+
116
+ NAME = 'StructValue'.freeze
117
+ NAMESPACE = 'types.value'.freeze
118
+
119
+ THRIFT_FIELD_INDEX_FIELDS = 1
120
+
121
+ FIELDS = {
122
+ THRIFT_FIELD_INDEX_FIELDS => {type: ::Thrift::Types::MAP, name: 'fields', key: {type: ::Thrift::Types::STRING}, value: {type: ::Thrift::Types::STRUCT, class: ::Thrift::Types::Value::Value}}
123
+ }
124
+
125
+ def struct_fields; FIELDS; end
126
+
127
+ def validate
128
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field fields is unset!') unless @fields
129
+ end
130
+
131
+ ::Thrift::Struct.generate_accessors self
132
+ ::Thrift.register_struct_type self
133
+ end
134
+
135
+ class Value < ::Thrift::Union
136
+ include ::Thrift::Struct_Union
137
+
138
+ NAME = 'Value'.freeze
139
+ NAMESPACE = 'types.value'.freeze
140
+
141
+ class << self
142
+ def null_value(val)
143
+ Value.new(:null_value, val)
144
+ end
145
+
146
+ def string_value(val)
147
+ Value.new(:string_value, val)
148
+ end
149
+
150
+ def binary_value(val)
151
+ Value.new(:binary_value, val)
152
+ end
153
+
154
+ def integer_value(val)
155
+ Value.new(:integer_value, val)
156
+ end
157
+
158
+ def double_value(val)
159
+ Value.new(:double_value, val)
160
+ end
161
+
162
+ def bool_value(val)
163
+ Value.new(:bool_value, val)
164
+ end
165
+
166
+ def list_value(val)
167
+ Value.new(:list_value, val)
168
+ end
169
+
170
+ def map_value(val)
171
+ Value.new(:map_value, val)
172
+ end
173
+
174
+ def struct_value(val)
175
+ Value.new(:struct_value, val)
176
+ end
177
+ end
178
+
179
+ THRIFT_FIELD_INDEX_NULL_VALUE = 1
180
+ THRIFT_FIELD_INDEX_STRING_VALUE = 2
181
+ THRIFT_FIELD_INDEX_BINARY_VALUE = 3
182
+ THRIFT_FIELD_INDEX_INTEGER_VALUE = 4
183
+ THRIFT_FIELD_INDEX_DOUBLE_VALUE = 5
184
+ THRIFT_FIELD_INDEX_BOOL_VALUE = 6
185
+ THRIFT_FIELD_INDEX_LIST_VALUE = 7
186
+ THRIFT_FIELD_INDEX_MAP_VALUE = 8
187
+ THRIFT_FIELD_INDEX_STRUCT_VALUE = 9
188
+
189
+ FIELDS = {
190
+ THRIFT_FIELD_INDEX_NULL_VALUE => {type: ::Thrift::Types::STRUCT, name: 'null_value', class: ::Thrift::Types::Value::NullValue},
191
+ THRIFT_FIELD_INDEX_STRING_VALUE => {type: ::Thrift::Types::STRING, name: 'string_value'},
192
+ THRIFT_FIELD_INDEX_BINARY_VALUE => {type: ::Thrift::Types::STRING, name: 'binary_value', binary: true},
193
+ THRIFT_FIELD_INDEX_INTEGER_VALUE => {type: ::Thrift::Types::I64, name: 'integer_value'},
194
+ THRIFT_FIELD_INDEX_DOUBLE_VALUE => {type: ::Thrift::Types::DOUBLE, name: 'double_value'},
195
+ THRIFT_FIELD_INDEX_BOOL_VALUE => {type: ::Thrift::Types::BOOL, name: 'bool_value'},
196
+ THRIFT_FIELD_INDEX_LIST_VALUE => {type: ::Thrift::Types::STRUCT, name: 'list_value', class: ::Thrift::Types::Value::ListValue},
197
+ THRIFT_FIELD_INDEX_MAP_VALUE => {type: ::Thrift::Types::STRUCT, name: 'map_value', class: ::Thrift::Types::Value::MapValue},
198
+ THRIFT_FIELD_INDEX_STRUCT_VALUE => {type: ::Thrift::Types::STRUCT, name: 'struct_value', class: ::Thrift::Types::Value::StructValue}
199
+ }
200
+
201
+ def struct_fields; FIELDS; end
202
+
203
+ def validate
204
+ raise(StandardError, 'Union fields are not set.') if get_set_field.nil? || get_value.nil?
205
+ end
206
+
207
+ ::Thrift::Union.generate_accessors self
208
+ ::Thrift.register_struct_type self
209
+ end
210
+
211
+ end
212
+ end
213
+ end
data/lib/thrift/types.rb CHANGED
@@ -1,4 +1,4 @@
1
- #
1
+ #
2
2
  # Licensed to the Apache Software Foundation (ASF) under one
3
3
  # or more contributor license agreements. See the NOTICE file
4
4
  # distributed with this work for additional information
@@ -6,16 +6,16 @@
6
6
  # to you under the Apache License, Version 2.0 (the
7
7
  # "License"); you may not use this file except in compliance
8
8
  # with the License. You may obtain a copy of the License at
9
- #
9
+ #
10
10
  # http://www.apache.org/licenses/LICENSE-2.0
11
- #
11
+ #
12
12
  # Unless required by applicable law or agreed to in writing,
13
13
  # software distributed under the License is distributed on an
14
14
  # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
15
  # KIND, either express or implied. See the License for the
16
16
  # specific language governing permissions and limitations
17
17
  # under the License.
18
- #
18
+ #
19
19
 
20
20
  require 'set'
21
21
 
data/lib/thrift.rb CHANGED
@@ -1,4 +1,4 @@
1
- #
1
+ #
2
2
  # Licensed to the Apache Software Foundation (ASF) under one
3
3
  # or more contributor license agreements. See the NOTICE file
4
4
  # distributed with this work for additional information
@@ -6,28 +6,30 @@
6
6
  # to you under the Apache License, Version 2.0 (the
7
7
  # "License"); you may not use this file except in compliance
8
8
  # with the License. You may obtain a copy of the License at
9
- #
9
+ #
10
10
  # http://www.apache.org/licenses/LICENSE-2.0
11
- #
11
+ #
12
12
  # Unless required by applicable law or agreed to in writing,
13
13
  # software distributed under the License is distributed on an
14
14
  # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
15
  # KIND, either express or implied. See the License for the
16
16
  # specific language governing permissions and limitations
17
17
  # under the License.
18
- #
18
+ #
19
19
  # Contains some contributions under the Thrift Software License.
20
20
  # Please see doc/old-thrift-license.txt in the Thrift distribution for
21
21
  # details.
22
22
 
23
23
  $:.unshift File.dirname(__FILE__)
24
24
 
25
+ require 'thrift/definition'
25
26
  require 'thrift/bytes'
26
27
  require 'thrift/core_ext'
27
28
  require 'thrift/exceptions'
28
29
  require 'thrift/types'
29
30
  require 'thrift/processor'
30
31
  require 'thrift/multiplexed_processor'
32
+ require 'thrift/middleware'
31
33
  require 'thrift/client'
32
34
  require 'thrift/struct'
33
35
  require 'thrift/union'