apimatic_core 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +26 -0
  3. data/README.md +101 -0
  4. data/lib/apimatic-core/api_call.rb +103 -0
  5. data/lib/apimatic-core/authentication/header_auth.rb +21 -0
  6. data/lib/apimatic-core/authentication/multiple/and_auth_group.rb +28 -0
  7. data/lib/apimatic-core/authentication/multiple/auth_group.rb +45 -0
  8. data/lib/apimatic-core/authentication/multiple/or_auth_group.rb +29 -0
  9. data/lib/apimatic-core/authentication/multiple/single_auth.rb +48 -0
  10. data/lib/apimatic-core/authentication/query_auth.rb +21 -0
  11. data/lib/apimatic-core/configurations/global_configuration.rb +149 -0
  12. data/lib/apimatic-core/exceptions/invalid_auth_credential.rb +5 -0
  13. data/lib/apimatic-core/factories/http_response_factory.rb +14 -0
  14. data/lib/apimatic-core/http/configurations/http_client_configuration.rb +32 -0
  15. data/lib/apimatic-core/http/request/http_request.rb +50 -0
  16. data/lib/apimatic-core/http/response/api_response.rb +35 -0
  17. data/lib/apimatic-core/http/response/http_response.rb +24 -0
  18. data/lib/apimatic-core/logger/endpoint_logger.rb +28 -0
  19. data/lib/apimatic-core/request_builder.rb +361 -0
  20. data/lib/apimatic-core/response_handler.rb +269 -0
  21. data/lib/apimatic-core/types/error_case.rb +37 -0
  22. data/lib/apimatic-core/types/parameter.rb +116 -0
  23. data/lib/apimatic-core/types/sdk/api_exception.rb +15 -0
  24. data/lib/apimatic-core/types/sdk/base_model.rb +22 -0
  25. data/lib/apimatic-core/types/sdk/file_wrapper.rb +11 -0
  26. data/lib/apimatic-core/types/sdk/validation_exception.rb +10 -0
  27. data/lib/apimatic-core/types/xml_attributes.rb +37 -0
  28. data/lib/apimatic-core/utilities/api_helper.rb +551 -0
  29. data/lib/apimatic-core/utilities/auth_helper.rb +49 -0
  30. data/lib/apimatic-core/utilities/comparison_helper.rb +77 -0
  31. data/lib/apimatic-core/utilities/date_time_helper.rb +126 -0
  32. data/lib/apimatic-core/utilities/file_helper.rb +21 -0
  33. data/lib/apimatic-core/utilities/xml_helper.rb +215 -0
  34. data/lib/apimatic_core.rb +44 -0
  35. metadata +215 -0
@@ -0,0 +1,126 @@
1
+ module CoreLibrary
2
+ # A utility that supports dateTime conversion to different formats.
3
+ class DateTimeHelper
4
+ # Safely converts a DateTime object into a rfc1123 format string.
5
+ # @param [DateTime] date_time The DateTime object.
6
+ # @return [String] The rfc1123 formatted datetime string.
7
+ def self.to_rfc1123(date_time)
8
+ date_time&.httpdate
9
+ end
10
+
11
+ # Safely converts a map of DateTime objects into a map of rfc1123 format string.
12
+ # @param [hash] date_time A map of DateTime objects.
13
+ # @return [hash] A map of rfc1123 formatted datetime string.
14
+ def self.to_rfc1123_map(date_time, hash, key)
15
+ return if date_time.nil?
16
+
17
+ hash[key] = {}
18
+ date_time.each do |k, v|
19
+ hash[key][k] =
20
+ v.is_a?(DateTime) ? DateTimeHelper.to_rfc1123(v) : v
21
+ end
22
+ hash[key]
23
+ end
24
+
25
+ # Safely converts an array of DateTime objects into an array of rfc1123 format string.
26
+ # @param [Array] date_time An array of DateTime objects.
27
+ # @return [Array] An array of rfc1123 formatted datetime string.
28
+ def self.to_rfc1123_array(date_time, hash, key)
29
+ return if date_time.nil?
30
+
31
+ hash[key] = date_time.map do |v|
32
+ v.is_a?(DateTime) ? DateTimeHelper.to_rfc1123(v) : v
33
+ end
34
+ end
35
+
36
+ # Safely converts a DateTime object into a unix format string.
37
+ # @param [DateTime] date_time The DateTime object.
38
+ # @return [String] The unix formatted datetime string.
39
+ def self.to_unix(date_time)
40
+ date_time.to_time.utc.to_i unless date_time.nil?
41
+ end
42
+
43
+ # Safely converts a map of DateTime objects into a map of unix format string.
44
+ # @param [hash] date_time A map of DateTime objects.
45
+ # @return [hash] A map of unix formatted datetime string.
46
+ def self.to_unix_map(date_time, hash, key)
47
+ return if date_time.nil?
48
+
49
+ hash[key] = {}
50
+ date_time.each do |k, v|
51
+ hash[key][k] =
52
+ v.is_a?(DateTime) ? DateTimeHelper.to_unix(v) : v
53
+ end
54
+ hash[key]
55
+ end
56
+
57
+ # Safely converts an array of DateTime objects into a map of unix format string.
58
+ # @param [hash] date_time An array of DateTime objects.
59
+ # @return [hash] An array of unix formatted datetime string.
60
+ def self.to_unix_array(date_time, hash, key)
61
+ return if date_time.nil?
62
+
63
+ hash[key] = date_time.map do |v|
64
+ v.is_a?(DateTime) ? DateTimeHelper.to_unix(v) : v
65
+ end
66
+ end
67
+
68
+ # Safely converts a DateTime object into a rfc3339 format string.
69
+ # @param [DateTime] date_time The DateTime object.
70
+ # @return [String] The rfc3339 formatted datetime string.
71
+ def self.to_rfc3339(date_time)
72
+ date_time&.rfc3339
73
+ end
74
+
75
+ # Safely converts a map of DateTime objects into a map of rfc1123 format string.
76
+ # @param [hash] date_time A map of DateTime objects.
77
+ # @return [hash] A map of rfc1123 formatted datetime string.
78
+ def self.to_rfc3339_map(date_time, hash, key)
79
+ return if date_time.nil?
80
+
81
+ hash[key] = {}
82
+ date_time.each do |k, v|
83
+ hash[key][k] =
84
+ v.is_a?(DateTime) ? DateTimeHelper.to_rfc3339(v) : v
85
+ end
86
+ hash[key]
87
+ end
88
+
89
+ # Safely converts an array of DateTime objects into an array of rfc1123 format string.
90
+ # @param [Array] date_time An array of DateTime objects.
91
+ # @return [Array] An array of rfc1123 formatted datetime string.
92
+ def self.to_rfc3339_array(date_time, hash, key)
93
+ return if date_time.nil?
94
+
95
+ hash[key] = date_time.map do |v|
96
+ v.is_a?(DateTime) ? DateTimeHelper.to_rfc3339(v) : v
97
+ end
98
+ end
99
+
100
+ # Safely converts a rfc1123 format string into a DateTime object.
101
+ # @param [String] date_time The rfc1123 formatted datetime string.
102
+ # @return [DateTime] A DateTime object.
103
+ def self.from_rfc1123(date_time)
104
+ DateTime.httpdate(date_time)
105
+ end
106
+
107
+ # Safely converts a unix format string into a DateTime object.
108
+ # @param [String] date_time The unix formatted datetime string.
109
+ # @return [DateTime] A DateTime object.
110
+ def self.from_unix(date_time)
111
+ Time.at(date_time.to_i).utc.to_datetime
112
+ end
113
+
114
+ # Safely converts a rfc3339 format string into a DateTime object.
115
+ # @param [String] date_time The rfc3339 formatted datetime string.
116
+ # @return [DateTime] A DateTime object.
117
+ def self.from_rfc3339(date_time)
118
+ # missing timezone information
119
+ if date_time.end_with?('Z') || date_time.index('+')
120
+ DateTime.rfc3339(date_time)
121
+ else
122
+ DateTime.rfc3339("#{date_time}Z")
123
+ end
124
+ end
125
+ end
126
+ end
@@ -0,0 +1,21 @@
1
+ require 'tempfile'
2
+ require 'open-uri'
3
+ module CoreLibrary
4
+ # A utility for file specific operations.
5
+ class FileHelper
6
+ @cache = {}
7
+
8
+ # Class method which takes a URL, downloads the file (if not already downloaded.
9
+ # for this test session) and returns the path of the file.
10
+ # @param [String] url The URL of the required file.
11
+ def self.get_file(url)
12
+ unless @cache.keys.include? url
13
+ @cache[url] = Tempfile.new('APIMatic')
14
+ @cache[url].binmode
15
+ @cache[url].write(URI.parse(url).open({ ssl_ca_cert: Certifi.where }).read)
16
+ end
17
+ @cache[url].rewind
18
+ @cache[url].path
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,215 @@
1
+ require 'nokogiri'
2
+
3
+ module CoreLibrary
4
+ # A utility class for handling xml parsing.
5
+ class XmlHelper
6
+ class << self
7
+ # Serialized the provided value to XML.
8
+ # @param root_element_name Root element for the XML provided.
9
+ # @param value Value to convert to XML.
10
+ def serialize_to_xml(root_element_name, value, datetime_format: nil)
11
+ doc = Nokogiri::XML::Document.new
12
+ add_as_subelement(doc, doc, root_element_name, value,
13
+ datetime_format: datetime_format)
14
+ doc.to_xml
15
+ end
16
+
17
+ # Serialized the provided array value to XML.
18
+ # @param root_element_name Root element for the xml provided.
19
+ # @param item_name Item name for XML.
20
+ # @param value Value to convert to XML.
21
+ def serialize_array_to_xml(root_element_name, item_name, value,
22
+ datetime_format: nil)
23
+ doc = Nokogiri::XML::Document.new
24
+ add_array_as_subelement(doc, doc, item_name, value,
25
+ wrapping_element_name: root_element_name,
26
+ datetime_format: datetime_format)
27
+ doc.to_xml
28
+ end
29
+
30
+ # Serialized the provided hash to XML.
31
+ # @param root_element_name Root element for the XML provided.
32
+ def serialize_hash_to_xml(root_element_name, entries,
33
+ datetime_format: nil)
34
+ doc = Nokogiri::XML::Document.new
35
+ add_hash_as_subelement(doc, doc, root_element_name, entries,
36
+ datetime_format: datetime_format)
37
+ doc.to_xml
38
+ end
39
+
40
+ # Adds the value as an attribute.
41
+ def add_as_attribute(root, name, value, datetime_format: nil)
42
+ return if value.nil?
43
+
44
+ value = datetime_to_s(value, datetime_format) if value.instance_of?(DateTime)
45
+
46
+ root[name] = value
47
+ end
48
+
49
+ # Adds hash as a sub-element.
50
+ def add_hash_as_subelement(doc, root, name, entries,
51
+ datetime_format: nil)
52
+ return if entries.nil?
53
+
54
+ parent = doc.create_element(name)
55
+ root.add_child(parent)
56
+
57
+ entries.each do |key, value|
58
+ add_as_subelement(doc, parent, key, value,
59
+ datetime_format: datetime_format)
60
+ end
61
+ end
62
+
63
+ # Adds array as a sub-element.
64
+ def add_array_as_subelement(doc, root, item_name, items,
65
+ wrapping_element_name: nil,
66
+ datetime_format: nil)
67
+ return if items.nil?
68
+
69
+ if wrapping_element_name.nil?
70
+ parent = root
71
+ else
72
+ parent = doc.create_element(wrapping_element_name)
73
+ root.add_child(parent)
74
+ end
75
+
76
+ items.each do |item|
77
+ add_as_subelement(doc, parent, item_name, item,
78
+ datetime_format: datetime_format)
79
+ end
80
+ end
81
+
82
+ # Adds as a sub-element.
83
+ def add_as_subelement(doc, root, name, value, datetime_format: nil)
84
+ return if value.nil?
85
+
86
+ value = datetime_to_s(value, datetime_format) if value.instance_of?(DateTime)
87
+
88
+ element = if value.respond_to? :to_xml_element
89
+ value.to_xml_element(doc, name)
90
+ else
91
+ doc.create_element(name, value)
92
+ end
93
+
94
+ root.add_child(element)
95
+ end
96
+
97
+ # Converts datetime to string of a specific format.
98
+ # @param value Value to convert to string.
99
+ # @param datetime_format Datetime format for the converted string.
100
+ def datetime_to_s(value, datetime_format)
101
+ case datetime_format
102
+ when 'UnixDateTime'
103
+ value.to_time.to_i
104
+ when 'HttpDateTime'
105
+ value.httpdate
106
+ else
107
+ value
108
+ end
109
+ end
110
+
111
+ # Deserializes XML to a specific class.
112
+ # @param xml The XML value to deserialize.
113
+ # @param root_element_name Root element name for the XML provided.
114
+ # @param clazz The class to convert the XML into.
115
+ def deserialize_xml(xml, root_element_name, clazz, datetime_format = nil)
116
+ doc = Nokogiri::XML::Document.parse xml
117
+ from_element(doc, root_element_name, clazz,
118
+ datetime_format: datetime_format)
119
+ end
120
+
121
+ # Deserializes XML to an array of a specific class.
122
+ # @param xml The XML value to deserialize.
123
+ # @param root_element_name Root element name for the XML provided.
124
+ # @param item_name Item name for XML.
125
+ # @param clazz The class to convert the XML into.
126
+ def deserialize_xml_to_array(xml, root_element_name, item_name, clazz,
127
+ datetime_format = nil)
128
+ doc = Nokogiri::XML::Document.parse xml
129
+ from_element_to_array(doc, item_name, clazz,
130
+ wrapping_element_name: root_element_name,
131
+ datetime_format: datetime_format)
132
+ end
133
+
134
+ # Deserializes XML to an array of a specific class.
135
+ # @param xml The XML value to deserialize.
136
+ # @param root_element_name Root element name for the XML provided.
137
+ def deserialize_xml_to_hash(xml, root_element_name, clazz,
138
+ datetime_format = nil)
139
+ doc = Nokogiri::XML::Document.parse xml
140
+ from_element_to_hash(doc, root_element_name, clazz,
141
+ datetime_format: datetime_format)
142
+ end
143
+
144
+ # Converts attribute to a specific class.
145
+ def from_attribute(parent, name, clazz, datetime_format: nil)
146
+ attribute = parent[name]
147
+ return nil if attribute.nil?
148
+
149
+ convert(attribute, clazz, datetime_format)
150
+ end
151
+
152
+ # Converts element to a specific class.
153
+ def from_element(parent, name, clazz, datetime_format: nil)
154
+ element = parent.at_xpath(name)
155
+ return nil if element.nil?
156
+ return clazz.from_element element if clazz.respond_to? :from_element
157
+
158
+ convert(element.text, clazz, datetime_format)
159
+ end
160
+
161
+ # Converts element to an array.
162
+ def from_element_to_array(parent, item_name, clazz,
163
+ wrapping_element_name: nil,
164
+ datetime_format: nil)
165
+ elements = if wrapping_element_name.nil?
166
+ parent.xpath(item_name)
167
+ elsif parent.at_xpath(wrapping_element_name).nil?
168
+ nil
169
+ else
170
+ parent.at_xpath(wrapping_element_name).xpath(item_name)
171
+ end
172
+
173
+ return nil if elements.nil?
174
+
175
+ if clazz.respond_to? :from_element
176
+ elements.map { |element| clazz.from_element element }
177
+ else
178
+ elements.map do |element|
179
+ convert(element.text, clazz, datetime_format)
180
+ end
181
+ end
182
+ end
183
+
184
+ # Converts element to hash.
185
+ def from_element_to_hash(parent, name, clazz,
186
+ datetime_format: nil)
187
+ entries = parent.at_xpath(name)
188
+ return nil if entries.nil? || entries.children.nil?
189
+
190
+ hash = {}
191
+
192
+ entries.element_children.each do |element|
193
+ hash[element.name] = convert(element.text, clazz, datetime_format)
194
+ end
195
+
196
+ hash
197
+ end
198
+
199
+ # Basic convert method.
200
+ def convert(value, clazz, datetime_format)
201
+ if clazz == DateTime
202
+ return DateTime.rfc3339(value) if datetime_format == 'RFC3339DateTime'
203
+ return DateTime.httpdate(value) if datetime_format == 'HttpDateTime'
204
+ return DateTime.strptime(value, '%s') if datetime_format == 'UnixDateTime'
205
+ end
206
+
207
+ return value.to_f if clazz == Float
208
+ return value.to_i if clazz == Integer
209
+ return value.casecmp('true').zero? if clazz == TrueClass
210
+
211
+ value
212
+ end
213
+ end
214
+ end
215
+ end
@@ -0,0 +1,44 @@
1
+ require 'date'
2
+ require 'json'
3
+ require 'certifi'
4
+ require 'apimatic_core_interfaces'
5
+ require 'cgi'
6
+
7
+ require_relative 'apimatic-core/request_builder'
8
+ require_relative 'apimatic-core/response_handler'
9
+ require_relative 'apimatic-core/api_call'
10
+
11
+ require_relative 'apimatic-core/factories/http_response_factory'
12
+
13
+ require_relative 'apimatic-core/configurations/global_configuration'
14
+
15
+ require_relative 'apimatic-core/exceptions/invalid_auth_credential'
16
+
17
+ require_relative 'apimatic-core/logger/endpoint_logger'
18
+
19
+ require_relative 'apimatic-core/http/configurations/http_client_configuration'
20
+ require_relative 'apimatic-core/http/request/http_request'
21
+ require_relative 'apimatic-core/http/response/http_response'
22
+ require_relative 'apimatic-core/http/response/api_response'
23
+
24
+ require_relative 'apimatic-core/types/parameter'
25
+ require_relative 'apimatic-core/types/error_case'
26
+ require_relative 'apimatic-core/types/sdk/base_model'
27
+ require_relative 'apimatic-core/types/sdk/file_wrapper'
28
+ require_relative 'apimatic-core/types/sdk/validation_exception'
29
+ require_relative 'apimatic-core/types/sdk/api_exception'
30
+ require_relative 'apimatic-core/types/xml_attributes'
31
+
32
+ require_relative 'apimatic-core/utilities/api_helper'
33
+ require_relative 'apimatic-core/utilities/date_time_helper'
34
+ require_relative 'apimatic-core/utilities/comparison_helper'
35
+ require_relative 'apimatic-core/utilities/file_helper'
36
+ require_relative 'apimatic-core/utilities/xml_helper'
37
+ require_relative 'apimatic-core/utilities/auth_helper'
38
+
39
+ require_relative 'apimatic-core/authentication/header_auth'
40
+ require_relative 'apimatic-core/authentication/query_auth'
41
+ require_relative 'apimatic-core/authentication/multiple/auth_group'
42
+ require_relative 'apimatic-core/authentication/multiple/and_auth_group'
43
+ require_relative 'apimatic-core/authentication/multiple/or_auth_group'
44
+ require_relative 'apimatic-core/authentication/multiple/single_auth'
metadata ADDED
@@ -0,0 +1,215 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: apimatic_core
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - APIMatic Ltd.
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-12-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: apimatic_core_interfaces
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.1.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.1.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: nokogiri
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.10'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 1.10.10
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '1.10'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 1.10.10
47
+ - !ruby/object:Gem::Dependency
48
+ name: certifi
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '2018.1'
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 2018.01.18
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '2018.1'
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: 2018.01.18
67
+ - !ruby/object:Gem::Dependency
68
+ name: faraday-multipart
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '1.0'
74
+ type: :runtime
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '1.0'
81
+ - !ruby/object:Gem::Dependency
82
+ name: faraday
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '2.0'
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: 2.0.1
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '2.0'
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: 2.0.1
101
+ - !ruby/object:Gem::Dependency
102
+ name: minitest
103
+ requirement: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - "~>"
106
+ - !ruby/object:Gem::Version
107
+ version: '5.14'
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: 5.14.1
111
+ type: :development
112
+ prerelease: false
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '5.14'
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: 5.14.1
121
+ - !ruby/object:Gem::Dependency
122
+ name: minitest-proveit
123
+ requirement: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: '1.0'
128
+ type: :development
129
+ prerelease: false
130
+ version_requirements: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: '1.0'
135
+ - !ruby/object:Gem::Dependency
136
+ name: simplecov
137
+ requirement: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: 0.21.2
142
+ type: :development
143
+ prerelease: false
144
+ version_requirements: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - "~>"
147
+ - !ruby/object:Gem::Version
148
+ version: 0.21.2
149
+ description: The APIMatic Core libraries provide a stable runtime that powers all
150
+ the functionality of SDKs. This includes functionality like the ability to create
151
+ HTTP requests, handle responses, apply authentication schemes, convert API responses
152
+ back to object instances, and validate user and server data.
153
+ email: support@apimatic.io
154
+ executables: []
155
+ extensions: []
156
+ extra_rdoc_files: []
157
+ files:
158
+ - LICENSE
159
+ - README.md
160
+ - lib/apimatic-core/api_call.rb
161
+ - lib/apimatic-core/authentication/header_auth.rb
162
+ - lib/apimatic-core/authentication/multiple/and_auth_group.rb
163
+ - lib/apimatic-core/authentication/multiple/auth_group.rb
164
+ - lib/apimatic-core/authentication/multiple/or_auth_group.rb
165
+ - lib/apimatic-core/authentication/multiple/single_auth.rb
166
+ - lib/apimatic-core/authentication/query_auth.rb
167
+ - lib/apimatic-core/configurations/global_configuration.rb
168
+ - lib/apimatic-core/exceptions/invalid_auth_credential.rb
169
+ - lib/apimatic-core/factories/http_response_factory.rb
170
+ - lib/apimatic-core/http/configurations/http_client_configuration.rb
171
+ - lib/apimatic-core/http/request/http_request.rb
172
+ - lib/apimatic-core/http/response/api_response.rb
173
+ - lib/apimatic-core/http/response/http_response.rb
174
+ - lib/apimatic-core/logger/endpoint_logger.rb
175
+ - lib/apimatic-core/request_builder.rb
176
+ - lib/apimatic-core/response_handler.rb
177
+ - lib/apimatic-core/types/error_case.rb
178
+ - lib/apimatic-core/types/parameter.rb
179
+ - lib/apimatic-core/types/sdk/api_exception.rb
180
+ - lib/apimatic-core/types/sdk/base_model.rb
181
+ - lib/apimatic-core/types/sdk/file_wrapper.rb
182
+ - lib/apimatic-core/types/sdk/validation_exception.rb
183
+ - lib/apimatic-core/types/xml_attributes.rb
184
+ - lib/apimatic-core/utilities/api_helper.rb
185
+ - lib/apimatic-core/utilities/auth_helper.rb
186
+ - lib/apimatic-core/utilities/comparison_helper.rb
187
+ - lib/apimatic-core/utilities/date_time_helper.rb
188
+ - lib/apimatic-core/utilities/file_helper.rb
189
+ - lib/apimatic-core/utilities/xml_helper.rb
190
+ - lib/apimatic_core.rb
191
+ homepage: https://apimatic.io
192
+ licenses:
193
+ - APIMATIC REFERENCE SOURCE LICENSE
194
+ metadata: {}
195
+ post_install_message:
196
+ rdoc_options: []
197
+ require_paths:
198
+ - lib
199
+ required_ruby_version: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: '2.6'
204
+ required_rubygems_version: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ requirements: []
210
+ rubygems_version: 3.4.1
211
+ signing_key:
212
+ specification_version: 4
213
+ summary: A library that contains apimatic-apimatic-core logic and utilities for consuming
214
+ REST APIs using Python SDKs generated by APIMatic.
215
+ test_files: []