ssrfs-up 0.0.9 → 0.0.14

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2796b96f6866e077be5b51b71a5a65669ddc9ac4d80c064b6eb30f97ddd18c16
4
- data.tar.gz: becdfe1918143119606b1bfb3e2c3c0035933f767676f6e0970484505d6aa658
3
+ metadata.gz: 79a89488772f10f51bacee766112aa17c601361a98ec04ef3fd881efbf416ba3
4
+ data.tar.gz: 0c35e3c62444e4b9331146c77ef6ce282ceeafcf9145e413b7dbcdf8365ae199
5
5
  SHA512:
6
- metadata.gz: fbc1437a990864744db91c25fc094f3ff71a992922b2ea52d1683a90d197d43c8809dd76e2334722379e0ffe59dcb23f40e6ec26da1cbb6f3ec862ea65da47cd
7
- data.tar.gz: 5d064c5379a0c1ae44fb696e51dd865c55a0f84174c35417a5adc965a34cd7bf97ba2eac0019bcadaed929d6d2f1d2c3b320e68ad2e627e6ff1d2a989c105674
6
+ metadata.gz: '081d9147f84e5120a963d1f022347d5d6ab4c074420aad40e05e2be5725ff488a1df364fbb10c6e1c6374861cd96543edbcc0ce4993b88bb10b6d0bbe252fbf7'
7
+ data.tar.gz: d663b3859ca75bf3a762ca78ce85f3c286d17aa24c99cb6aa410d969996261addb3f411dbda78e22e25469c7f09eca9879b928fd71c7de3265598983e21380f6
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0-oas3-oas3-oas3
7
7
  Contact: jheath@chanzuckerberg.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0-oas3-oas3-oas3
7
7
  Contact: jheath@chanzuckerberg.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0-oas3-oas3-oas3
7
7
  Contact: jheath@chanzuckerberg.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0-oas3-oas3-oas3
7
7
  Contact: jheath@chanzuckerberg.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0-oas3-oas3-oas3
7
7
  Contact: jheath@chanzuckerberg.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0-oas3-oas3-oas3
7
7
  Contact: jheath@chanzuckerberg.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0-oas3-oas3-oas3
7
7
  Contact: jheath@chanzuckerberg.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0-oas3-oas3-oas3
7
7
  Contact: jheath@chanzuckerberg.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0-oas3-oas3-oas3
7
7
  Contact: jheath@chanzuckerberg.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -30,7 +30,7 @@ module OpenapiClient
30
30
  attr_accessor :timeout
31
31
 
32
32
  # a JSON object whose key/value pairs will be mapped to URL query parameters
33
- attr_accessor :_query_params
33
+ attr_accessor :params
34
34
 
35
35
  # a string representing the HTTP request or response body
36
36
  attr_accessor :body
@@ -53,10 +53,10 @@ module OpenapiClient
53
53
  :'secure' => :'secure',
54
54
  :'headers' => :'headers',
55
55
  :'timeout' => :'timeout',
56
- :'_query_params' => :'query-params',
56
+ :'params' => :'params',
57
57
  :'body' => :'body',
58
58
  :'sensitive' => :'sensitive',
59
- :'content_type' => :'content-type',
59
+ :'content_type' => :'content_type',
60
60
  :'redirect' => :'redirect',
61
61
  :'path' => :'path'
62
62
  }
@@ -75,7 +75,7 @@ module OpenapiClient
75
75
  :'secure' => :'Boolean',
76
76
  :'headers' => :'Object',
77
77
  :'timeout' => :'Integer',
78
- :'_query_params' => :'Object',
78
+ :'params' => :'Object',
79
79
  :'body' => :'String',
80
80
  :'sensitive' => :'Array<String>',
81
81
  :'content_type' => :'ContentType',
@@ -131,8 +131,8 @@ module OpenapiClient
131
131
  self.timeout = 10
132
132
  end
133
133
 
134
- if attributes.key?(:'_query_params')
135
- self._query_params = attributes[:'_query_params']
134
+ if attributes.key?(:'params')
135
+ self.params = attributes[:'params']
136
136
  end
137
137
 
138
138
  if attributes.key?(:'body')
@@ -188,8 +188,8 @@ module OpenapiClient
188
188
  invalid_properties.push('invalid value for "timeout", timeout cannot be nil.')
189
189
  end
190
190
 
191
- if @_query_params.nil?
192
- invalid_properties.push('invalid value for "_query_params", _query_params cannot be nil.')
191
+ if @params.nil?
192
+ invalid_properties.push('invalid value for "params", params cannot be nil.')
193
193
  end
194
194
 
195
195
  if @body.nil?
@@ -219,7 +219,7 @@ module OpenapiClient
219
219
  return false if @secure.nil?
220
220
  return false if @headers.nil?
221
221
  return false if @timeout.nil?
222
- return false if @_query_params.nil?
222
+ return false if @params.nil?
223
223
  return false if @body.nil?
224
224
  return false if @sensitive.nil?
225
225
  return false if @content_type.nil?
@@ -237,7 +237,7 @@ module OpenapiClient
237
237
  secure == o.secure &&
238
238
  headers == o.headers &&
239
239
  timeout == o.timeout &&
240
- _query_params == o._query_params &&
240
+ params == o.params &&
241
241
  body == o.body &&
242
242
  sensitive == o.sensitive &&
243
243
  content_type == o.content_type &&
@@ -254,7 +254,7 @@ module OpenapiClient
254
254
  # Calculates hash code according to all attributes.
255
255
  # @return [Integer] Hash code
256
256
  def hash
257
- [host, method, secure, headers, timeout, _query_params, body, sensitive, content_type, redirect, path].hash
257
+ [host, method, secure, headers, timeout, params, body, sensitive, content_type, redirect, path].hash
258
258
  end
259
259
 
260
260
  # Builds the object from hash
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0-oas3-oas3-oas3
7
7
  Contact: jheath@chanzuckerberg.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -33,8 +33,8 @@ module OpenapiClient
33
33
  # Attribute mapping from ruby-style variable name to JSON key.
34
34
  def self.attribute_map
35
35
  {
36
- :'status_text' => :'status-text',
37
- :'status_code' => :'status-code',
36
+ :'status_text' => :'status_text',
37
+ :'status_code' => :'status_code',
38
38
  :'headers' => :'headers',
39
39
  :'body' => :'body',
40
40
  :'error' => :'error'
@@ -117,6 +117,10 @@ module OpenapiClient
117
117
  # @return Array for valid properties with the reasons
118
118
  def list_invalid_properties
119
119
  invalid_properties = Array.new
120
+ if @status_text.nil?
121
+ invalid_properties.push('invalid value for "status_text", status_text cannot be nil.')
122
+ end
123
+
120
124
  if @status_code.nil?
121
125
  invalid_properties.push('invalid value for "status_code", status_code cannot be nil.')
122
126
  end
@@ -139,6 +143,7 @@ module OpenapiClient
139
143
  # Check to see if the all the properties in the model are valid
140
144
  # @return true if the model is valid
141
145
  def valid?
146
+ return false if @status_text.nil?
142
147
  return false if @status_code.nil?
143
148
  return false if @headers.nil?
144
149
  return false if @body.nil?
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0-oas3-oas3-oas3
7
7
  Contact: jheath@chanzuckerberg.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0-oas3-oas3-oas3
7
7
  Contact: jheath@chanzuckerberg.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -30,8 +30,8 @@ module OpenapiClient
30
30
  # Attribute mapping from ruby-style variable name to JSON key.
31
31
  def self.attribute_map
32
32
  {
33
- :'status_text' => :'status-text',
34
- :'status_code' => :'status-code',
33
+ :'status_text' => :'status_text',
34
+ :'status_code' => :'status_code',
35
35
  :'headers' => :'headers',
36
36
  :'body' => :'body'
37
37
  }
@@ -100,6 +100,10 @@ module OpenapiClient
100
100
  # @return Array for valid properties with the reasons
101
101
  def list_invalid_properties
102
102
  invalid_properties = Array.new
103
+ if @status_text.nil?
104
+ invalid_properties.push('invalid value for "status_text", status_text cannot be nil.')
105
+ end
106
+
103
107
  if @status_code.nil?
104
108
  invalid_properties.push('invalid value for "status_code", status_code cannot be nil.')
105
109
  end
@@ -118,6 +122,7 @@ module OpenapiClient
118
122
  # Check to see if the all the properties in the model are valid
119
123
  # @return true if the model is valid
120
124
  def valid?
125
+ return false if @status_text.nil?
121
126
  return false if @status_code.nil?
122
127
  return false if @headers.nil?
123
128
  return false if @body.nil?
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0-oas3-oas3-oas3
7
7
  Contact: jheath@chanzuckerberg.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
data/lib/ssrfs-up.rb CHANGED
@@ -1,5 +1,8 @@
1
1
  require 'aws-sdk-lambda'
2
2
  require 'uri'
3
+ require 'ssrfs-up/version'
4
+ require 'ostruct'
5
+ require 'honeycomb-beeline'
3
6
 
4
7
  # Common files
5
8
  require 'openapi_client/lib/openapi_client/api_client'
@@ -18,119 +21,165 @@ require 'openapi_client/lib/openapi_client/models/response_success'
18
21
 
19
22
  # APIs
20
23
  require 'openapi_client/lib/openapi_client/api/default_api'
21
-
24
+ ##
25
+ # This module contains the AWS lambda client and helper methods to easily
26
+ # make requests to it. All methods take a hostname or URI and a hash or options
27
+ # for the request.
22
28
  module SSRFsUp
23
- class << self
24
- attr_accessor :config, :client
25
-
26
- def configuration
27
- @config ||= Configuration.new
29
+ Honeycomb.configure do |config|
30
+ config.write_key = '0dc36d095b2c3aefb237dd04e13f580c'
31
+ config.dataset = 'ssrfs-up'
32
+ config.service_name = 'ssrfs-up-ruby-client'
33
+ config.presend_hook do |fields|
34
+ fields['aws.session_token'] = '[REDACTED]' if fields.has_key? 'aws.session_token'
35
+ fields['aws.access_key_id'] = '[REDACTED]' if fields.has_key? 'aws.access_key_id'
36
+ fields['aws.params.function_name'] = '[REDACTED]' if fields.has_key? 'aws.params.function_name'
37
+ fields['aws.params.payload'] = '[REDACTED]' if fields.has_key? 'aws.params.payload'
28
38
  end
39
+ end
29
40
 
30
- def client
31
- @client ||= Aws::Lambda::Client.new(region: configuration.region)
32
- end
41
+ class Configuration
42
+ attr_accessor :func_name, :invoke_type, :log_type, :region, :test
33
43
 
34
- def configure
35
- yield(configuration)
36
- @client = Aws::Lambda::Client.new(region: configuration.region)
44
+ def initialize
45
+ @func_name = 'arn:aws:lambda:us-west-2:871040364337:function:sec-czi-sec-ssrfs-up'
46
+ @invoke_type = 'RequestResponse'
47
+ @log_type = 'None'
48
+ @region = 'us-west-2'
49
+ @test = false
37
50
  end
51
+ end
52
+
53
+ class << self
54
+ attr_accessor :config, :client
38
55
 
39
56
  # These methods take a string like "www.google.com" or "https://google.com" and parse
40
57
  # the respective parameters from the string to make the request. If only a hostname
41
58
  # is provided, the default options are applied. A hash of options can also be
42
- # supplied to configure the request.
59
+ # supplied to configure the request. The set of options can be found at
60
+ # https://github.com/chanzuckerberg/SSRFs-Up/blob/0e18fd30bee3f2b99ff4bc512cb967b83e8d9dcb/openapi.yaml#L97-L119
61
+ def do(method, host, opts = {})
62
+ case method.downcase
63
+ when 'get'
64
+ get(host, opts)
65
+ when 'put'
66
+ put(host, opts)
67
+ when 'post'
68
+ post(host, opts)
69
+ when 'patch'
70
+ patch(host, opts)
71
+ when 'delete'
72
+ delete(host, opts)
73
+ end
74
+ end
43
75
 
44
- # get makes a get request through the proxy.
76
+ # convenience method for making a GET request with do.
45
77
  def get(host, opts = {})
46
78
  opts['method'] = 'GET'
47
79
  invoke(host, opts)
48
80
  end
49
81
 
50
- # put makes a put request through the proxy.
82
+ # convenience method for making a PUT request with do.
51
83
  def put(host, opts = {})
52
84
  opts['method'] = 'PUT'
53
85
  invoke(host, opts)
54
86
  end
55
87
 
56
- # post makes a post request through the proxy.
88
+ # convenience method for making a POST request with do.
57
89
  def post(host, opts = {})
58
90
  opts['method'] = 'POST'
59
91
  invoke(host, opts)
60
92
  end
61
93
 
62
- # patch makes a patch request through the proxy.
94
+ # convenience method for making a patch request with do.
63
95
  def patch(host, opts = {})
64
96
  opts['method'] = 'PATCH'
65
97
  invoke(host, opts)
66
98
  end
67
99
 
68
- # delete makes a delete request through the proxy.
100
+ # convenience method for making a DELETE request with do.
69
101
  def delete(host, opts = {})
70
102
  opts['method'] = 'DELETE'
71
103
  invoke(host, opts)
72
104
  end
73
105
 
74
- private
75
-
76
- # parseAsUri takes an ambiguous string and sets the appropriate options based
106
+ # takes an ambiguous string or URI and sets the appropriate options based
77
107
  # on if it can be parsed as URI object. If it can't, then the string is assumed
78
108
  # to be a hostname only.
79
109
  def parseAsUri(uri = '')
80
- opts = { 'host' => uri }
110
+ uri = uri.to_s
111
+ opts = { 'host' => uri.split('/')[0].split('?')[0].split('#')[0] }
81
112
  u = URI(uri)
113
+
82
114
  # if the scheme was present, we can parse most of the options from the URI.
83
115
  # otherwise, we can assume the URI was an actual hostname
84
116
  unless u.scheme.nil?
85
117
  opts['secure'] = !(u.scheme == 'http')
86
118
  opts['host'] = u.host
87
119
  opts['path'] = u.path unless u.path == ''
88
- opts['_query_params'] = CGI.parse(u.query) unless u.query.nil?
120
+ opts['params'] = CGI.parse(u.query) unless u.query.nil?
89
121
  end
90
122
  opts
91
123
  end
92
124
 
93
- # TODO: log errors to CloudWatch
94
- def logError(e = nil)
95
- puts e
125
+ # converts a hash of options to a valid OpenapiClient Request so that it
126
+ # can be properly consumed by the lambda.
127
+ def toOpenAPIClient(opts = {})
128
+ OpenapiClient::Request.new(opts).to_hash
129
+ end
130
+
131
+ # configures the SSRFsUp module and recreates the AWS Lambda Client from
132
+ # the updated configuration.
133
+ def configure
134
+ yield(configuration)
135
+ @client = Aws::Lambda::Client.new({ region: configuration.region, stub_responses: configuration.test })
136
+ end
137
+
138
+ def configuration
139
+ @config ||= Configuration.new
96
140
  end
97
141
 
98
- # invoke invokes the lambda with the provided arguments. It handles all lambda
142
+ def client
143
+ @client ||= Aws::Lambda::Client.new(region: configuration.region)
144
+ end
145
+
146
+ # invokes the lambda with the provided arguments. It handles all lambda
99
147
  # related errors so developers should assume the data they receive back is straight
100
148
  # from the server they are speaking to.
101
149
  def invoke(host = nil, opts = {})
102
- opts = opts.merge(parseAsUri(host))
103
- resp = client.invoke({
104
- function_name: configuration.func_name,
105
- invocation_type: configuration.invoke_type,
106
- log_type: configuration.log_type,
107
- payload: payload(opts)
108
- })
150
+ resp = if !configuration.test
151
+ Honeycomb.start_span(name: 'invoke') do |span|
152
+ span.add_field('host', host)
153
+ opts = opts.merge(parseAsUri(host))
154
+ opts = opts.merge({ 'headers' => { 'X-Honeycomb-Trace' => span.to_trace_header } })
155
+ client.invoke({
156
+ function_name: configuration.func_name,
157
+ invocation_type: configuration.invoke_type,
158
+ log_type: configuration.log_type,
159
+ payload: payload(opts)
160
+ })
161
+ end
162
+ else
163
+ client.invoke({
164
+ function_name: configuration.func_name,
165
+ invocation_type: configuration.invoke_type,
166
+ log_type: configuration.log_type,
167
+ payload: payload(opts)
168
+ })
169
+ end
109
170
  if resp['status_code'] == 200
110
- JSON.parse(resp&.payload&.string)
171
+ OpenStruct.new(JSON.parse(resp&.payload&.string))
111
172
  else
112
- { body: '', status_code: resp[status_code], status_text: '500 Error with proxy' }
173
+ OpenStruct.new({ body: '', status_code: resp[status_code], status_text: '500 Error with proxy' })
113
174
  end
114
175
  rescue StandardError => e
115
- logError(e)
116
- { body: '', status_code: 500, status_text: e.to_s }
176
+ OpenStruct.new({ body: '', status_code: 500, status_text: e.to_s })
117
177
  end
118
178
 
119
179
  # payload builds an API client Request object with the proper defaults and
120
180
  # returns its JSON serialization.
121
181
  def payload(opts = {})
122
- OpenapiClient::Request.new(opts).to_hash.to_json
123
- end
124
-
125
- class Configuration
126
- attr_accessor :func_name, :invoke_type, :log_type, :region
127
-
128
- def initialize
129
- @func_name = 'testproxy'
130
- @invoke_type = 'RequestResponse'
131
- @log_type = 'None'
132
- @region = 'us-west-2'
133
- end
182
+ toOpenAPIClient(opts).to_json
134
183
  end
135
184
  end
136
185
  end
@@ -0,0 +1,3 @@
1
+ module SSRFsUp
2
+ VERSION = '0.0.14'.freeze
3
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ssrfs-up
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jake Heath
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-10 00:00:00.000000000 Z
11
+ date: 2021-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-lambda
@@ -30,6 +30,26 @@ dependencies:
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
32
  version: '1'
33
+ - !ruby/object:Gem::Dependency
34
+ name: libhoney
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.18'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 1.18.0
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1.18'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 1.18.0
33
53
  - !ruby/object:Gem::Dependency
34
54
  name: typhoeus
35
55
  requirement: !ruby/object:Gem::Requirement
@@ -50,6 +70,68 @@ dependencies:
50
70
  - - ">="
51
71
  - !ruby/object:Gem::Version
52
72
  version: 1.0.1
73
+ - !ruby/object:Gem::Dependency
74
+ name: honeycomb-beeline
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '2.4'
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 2.4.0
83
+ type: :runtime
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '2.4'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 2.4.0
93
+ - !ruby/object:Gem::Dependency
94
+ name: bundler
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ type: :development
101
+ prerelease: false
102
+ version_requirements: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
107
+ - !ruby/object:Gem::Dependency
108
+ name: pry
109
+ requirement: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
114
+ type: :development
115
+ prerelease: false
116
+ version_requirements: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ - !ruby/object:Gem::Dependency
122
+ name: rake
123
+ requirement: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
128
+ type: :development
129
+ prerelease: false
130
+ version_requirements: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
53
135
  - !ruby/object:Gem::Dependency
54
136
  name: rspec
55
137
  requirement: !ruby/object:Gem::Requirement
@@ -71,8 +153,9 @@ dependencies:
71
153
  - !ruby/object:Gem::Version
72
154
  version: 3.6.0
73
155
  description: A gem that simplifies connecting to out AWS Lambda used to proxy requests.
74
- Make your third-party requests secure by default. For additional docs, see https://github.com/chanzuckerberg/ssrf-proxy
75
- email: jheath@chanzuckerberg.com
156
+ Make your third-party requests secure by default.
157
+ email:
158
+ - jheath@chanzuckerberg.com
76
159
  executables: []
77
160
  extensions: []
78
161
  extra_rdoc_files: []
@@ -91,10 +174,12 @@ files:
91
174
  - lib/openapi_client/lib/openapi_client/models/response_success.rb
92
175
  - lib/openapi_client/lib/openapi_client/version.rb
93
176
  - lib/ssrfs-up.rb
94
- homepage: https://github.com/chanzuckerberg/SSRFs-Up/
177
+ - lib/ssrfs-up/version.rb
178
+ homepage: https://github.com/chanzuckerberg/ssrf-proxy
95
179
  licenses:
96
180
  - MIT
97
- metadata: {}
181
+ metadata:
182
+ homepage_uri: https://github.com/chanzuckerberg/ssrf-proxy
98
183
  post_install_message:
99
184
  rdoc_options: []
100
185
  require_paths:
@@ -103,7 +188,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
103
188
  requirements:
104
189
  - - ">="
105
190
  - !ruby/object:Gem::Version
106
- version: '0'
191
+ version: 2.3.0
107
192
  required_rubygems_version: !ruby/object:Gem::Requirement
108
193
  requirements:
109
194
  - - ">="