ssrfs-up 0.0.9 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
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
  - - ">="