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 +4 -4
- data/lib/openapi_client/lib/openapi_client.rb +1 -1
- data/lib/openapi_client/lib/openapi_client/api/default_api.rb +1 -1
- data/lib/openapi_client/lib/openapi_client/api_client.rb +1 -1
- data/lib/openapi_client/lib/openapi_client/api_error.rb +1 -1
- data/lib/openapi_client/lib/openapi_client/configuration.rb +1 -1
- data/lib/openapi_client/lib/openapi_client/models/content_type.rb +1 -1
- data/lib/openapi_client/lib/openapi_client/models/method.rb +1 -1
- data/lib/openapi_client/lib/openapi_client/models/redirect.rb +1 -1
- data/lib/openapi_client/lib/openapi_client/models/request.rb +12 -12
- data/lib/openapi_client/lib/openapi_client/models/response.rb +8 -3
- data/lib/openapi_client/lib/openapi_client/models/response_error.rb +1 -1
- data/lib/openapi_client/lib/openapi_client/models/response_success.rb +8 -3
- data/lib/openapi_client/lib/openapi_client/version.rb +1 -1
- data/lib/ssrfs-up.rb +99 -50
- data/lib/ssrfs-up/version.rb +3 -0
- metadata +92 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 79a89488772f10f51bacee766112aa17c601361a98ec04ef3fd881efbf416ba3
|
4
|
+
data.tar.gz: 0c35e3c62444e4b9331146c77ef6ce282ceeafcf9145e413b7dbcdf8365ae199
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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 :
|
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
|
-
:'
|
56
|
+
:'params' => :'params',
|
57
57
|
:'body' => :'body',
|
58
58
|
:'sensitive' => :'sensitive',
|
59
|
-
:'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
|
-
:'
|
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?(:'
|
135
|
-
self.
|
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 @
|
192
|
-
invalid_properties.push('invalid value for "
|
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 @
|
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
|
-
|
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,
|
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
|
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' => :'
|
37
|
-
:'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
|
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' => :'
|
34
|
-
:'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?
|
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
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
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
|
-
|
31
|
-
|
32
|
-
end
|
41
|
+
class Configuration
|
42
|
+
attr_accessor :func_name, :invoke_type, :log_type, :region, :test
|
33
43
|
|
34
|
-
def
|
35
|
-
|
36
|
-
@
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
|
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
|
-
|
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['
|
120
|
+
opts['params'] = CGI.parse(u.query) unless u.query.nil?
|
89
121
|
end
|
90
122
|
opts
|
91
123
|
end
|
92
124
|
|
93
|
-
#
|
94
|
-
|
95
|
-
|
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
|
-
|
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
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
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
|
-
|
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
|
-
|
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
|
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.
|
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-
|
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.
|
75
|
-
email:
|
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
|
-
|
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:
|
191
|
+
version: 2.3.0
|
107
192
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
193
|
requirements:
|
109
194
|
- - ">="
|