cloudmersive-validate-api-client 2.2.3 → 2.2.4
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/README.md +7 -4
- data/docs/DomainApi.md +55 -0
- data/docs/UrlHtmlSsrfRequestFull.md +8 -0
- data/docs/UrlHtmlSsrfResponseFull.md +9 -0
- data/lib/cloudmersive-validate-api-client.rb +2 -0
- data/lib/cloudmersive-validate-api-client/api/domain_api.rb +54 -0
- data/lib/cloudmersive-validate-api-client/models/url_html_ssrf_request_full.rb +186 -0
- data/lib/cloudmersive-validate-api-client/models/url_html_ssrf_response_full.rb +196 -0
- data/lib/cloudmersive-validate-api-client/version.rb +1 -1
- data/spec/api/domain_api_spec.rb +12 -0
- data/spec/models/url_html_ssrf_request_full_spec.rb +41 -0
- data/spec/models/url_html_ssrf_response_full_spec.rb +47 -0
- metadata +8 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bda2d29aed6f694cefad741670033ee4c4413bca97f808db708b6d96e7bfc623
|
|
4
|
+
data.tar.gz: e98072e83bfa227d8fdc5eda4d050297eaef91fa387b03229051c9b6f66c74bb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6833aa20a67fbeba89dfd15e5b5c6278c79610c830813ced064432c472b0cd1de6a6d4645c9802fdde217a918f96c3fa0c19c894d32f5272fe56860cbf090ab1
|
|
7
|
+
data.tar.gz: 6b7bb18a5c190a57f15af84fd75bcc019ebde4d27f832493d23430d844a1a2a869eba4b4f285546175a55411f8148815944e866672f4420a123fa672509faca0
|
data/README.md
CHANGED
|
@@ -7,7 +7,7 @@ The validation APIs help you validate data. Check if an E-mail address is real.
|
|
|
7
7
|
This SDK is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:
|
|
8
8
|
|
|
9
9
|
- API version: v1
|
|
10
|
-
- Package version: 2.2.
|
|
10
|
+
- Package version: 2.2.4
|
|
11
11
|
- Build package: io.swagger.codegen.languages.RubyClientCodegen
|
|
12
12
|
|
|
13
13
|
## Installation
|
|
@@ -23,15 +23,15 @@ gem build cloudmersive-validate-api-client.gemspec
|
|
|
23
23
|
Then either install the gem locally:
|
|
24
24
|
|
|
25
25
|
```shell
|
|
26
|
-
gem install ./cloudmersive-validate-api-client-2.2.
|
|
26
|
+
gem install ./cloudmersive-validate-api-client-2.2.4.gem
|
|
27
27
|
```
|
|
28
|
-
(for development, run `gem install --dev ./cloudmersive-validate-api-client-2.2.
|
|
28
|
+
(for development, run `gem install --dev ./cloudmersive-validate-api-client-2.2.4.gem` to install the development dependencies)
|
|
29
29
|
|
|
30
30
|
or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
|
|
31
31
|
|
|
32
32
|
Finally add this to the Gemfile:
|
|
33
33
|
|
|
34
|
-
gem 'cloudmersive-validate-api-client', '~> 2.2.
|
|
34
|
+
gem 'cloudmersive-validate-api-client', '~> 2.2.4'
|
|
35
35
|
|
|
36
36
|
### Install from Git
|
|
37
37
|
|
|
@@ -111,6 +111,7 @@ Class | Method | HTTP request | Description
|
|
|
111
111
|
*CloudmersiveValidateApiClient::DomainApi* | [**domain_ssrf_check**](docs/DomainApi.md#domain_ssrf_check) | **POST** /validate/domain/url/ssrf-threat-check | Check a URL for SSRF threats
|
|
112
112
|
*CloudmersiveValidateApiClient::DomainApi* | [**domain_ssrf_check_batch**](docs/DomainApi.md#domain_ssrf_check_batch) | **POST** /validate/domain/url/ssrf-threat-check/batch | Check a URL for SSRF threats in batches
|
|
113
113
|
*CloudmersiveValidateApiClient::DomainApi* | [**domain_url_full**](docs/DomainApi.md#domain_url_full) | **POST** /validate/domain/url/full | Validate a URL fully
|
|
114
|
+
*CloudmersiveValidateApiClient::DomainApi* | [**domain_url_html_ssrf_check**](docs/DomainApi.md#domain_url_html_ssrf_check) | **POST** /validate/domain/url/ssrf-threat-check/html-embedded | Check a URL for HTML embedded SSRF threats
|
|
114
115
|
*CloudmersiveValidateApiClient::DomainApi* | [**domain_url_syntax_only**](docs/DomainApi.md#domain_url_syntax_only) | **POST** /validate/domain/url/syntax-only | Validate a URL syntactically
|
|
115
116
|
*CloudmersiveValidateApiClient::EmailApi* | [**email_address_get_servers**](docs/EmailApi.md#email_address_get_servers) | **POST** /validate/email/address/servers | Partially check whether an email address is valid
|
|
116
117
|
*CloudmersiveValidateApiClient::EmailApi* | [**email_full_validation**](docs/EmailApi.md#email_full_validation) | **POST** /validate/email/address/full | Fully validate an email address
|
|
@@ -192,6 +193,8 @@ Class | Method | HTTP request | Description
|
|
|
192
193
|
- [CloudmersiveValidateApiClient::SqlInjectionDetectionResult](docs/SqlInjectionDetectionResult.md)
|
|
193
194
|
- [CloudmersiveValidateApiClient::Timezone](docs/Timezone.md)
|
|
194
195
|
- [CloudmersiveValidateApiClient::TorNodeResponse](docs/TorNodeResponse.md)
|
|
196
|
+
- [CloudmersiveValidateApiClient::UrlHtmlSsrfRequestFull](docs/UrlHtmlSsrfRequestFull.md)
|
|
197
|
+
- [CloudmersiveValidateApiClient::UrlHtmlSsrfResponseFull](docs/UrlHtmlSsrfResponseFull.md)
|
|
195
198
|
- [CloudmersiveValidateApiClient::UrlSafetyCheckRequestFull](docs/UrlSafetyCheckRequestFull.md)
|
|
196
199
|
- [CloudmersiveValidateApiClient::UrlSafetyCheckResponseFull](docs/UrlSafetyCheckResponseFull.md)
|
|
197
200
|
- [CloudmersiveValidateApiClient::UrlSsrfRequestBatch](docs/UrlSsrfRequestBatch.md)
|
data/docs/DomainApi.md
CHANGED
|
@@ -14,6 +14,7 @@ Method | HTTP request | Description
|
|
|
14
14
|
[**domain_ssrf_check**](DomainApi.md#domain_ssrf_check) | **POST** /validate/domain/url/ssrf-threat-check | Check a URL for SSRF threats
|
|
15
15
|
[**domain_ssrf_check_batch**](DomainApi.md#domain_ssrf_check_batch) | **POST** /validate/domain/url/ssrf-threat-check/batch | Check a URL for SSRF threats in batches
|
|
16
16
|
[**domain_url_full**](DomainApi.md#domain_url_full) | **POST** /validate/domain/url/full | Validate a URL fully
|
|
17
|
+
[**domain_url_html_ssrf_check**](DomainApi.md#domain_url_html_ssrf_check) | **POST** /validate/domain/url/ssrf-threat-check/html-embedded | Check a URL for HTML embedded SSRF threats
|
|
17
18
|
[**domain_url_syntax_only**](DomainApi.md#domain_url_syntax_only) | **POST** /validate/domain/url/syntax-only | Validate a URL syntactically
|
|
18
19
|
|
|
19
20
|
|
|
@@ -557,6 +558,60 @@ Name | Type | Description | Notes
|
|
|
557
558
|
|
|
558
559
|
|
|
559
560
|
|
|
561
|
+
# **domain_url_html_ssrf_check**
|
|
562
|
+
> UrlHtmlSsrfResponseFull domain_url_html_ssrf_check(request)
|
|
563
|
+
|
|
564
|
+
Check a URL for HTML embedded SSRF threats
|
|
565
|
+
|
|
566
|
+
Checks if an input URL HTML is at risk of containing one or more embedded SSRF (Server-side request forgery) threats or attacks.
|
|
567
|
+
|
|
568
|
+
### Example
|
|
569
|
+
```ruby
|
|
570
|
+
# load the gem
|
|
571
|
+
require 'cloudmersive-validate-api-client'
|
|
572
|
+
# setup authorization
|
|
573
|
+
CloudmersiveValidateApiClient.configure do |config|
|
|
574
|
+
# Configure API key authorization: Apikey
|
|
575
|
+
config.api_key['Apikey'] = 'YOUR API KEY'
|
|
576
|
+
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
|
|
577
|
+
#config.api_key_prefix['Apikey'] = 'Bearer'
|
|
578
|
+
end
|
|
579
|
+
|
|
580
|
+
api_instance = CloudmersiveValidateApiClient::DomainApi.new
|
|
581
|
+
|
|
582
|
+
request = CloudmersiveValidateApiClient::UrlHtmlSsrfRequestFull.new # UrlHtmlSsrfRequestFull | Input URL request
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
begin
|
|
586
|
+
#Check a URL for HTML embedded SSRF threats
|
|
587
|
+
result = api_instance.domain_url_html_ssrf_check(request)
|
|
588
|
+
p result
|
|
589
|
+
rescue CloudmersiveValidateApiClient::ApiError => e
|
|
590
|
+
puts "Exception when calling DomainApi->domain_url_html_ssrf_check: #{e}"
|
|
591
|
+
end
|
|
592
|
+
```
|
|
593
|
+
|
|
594
|
+
### Parameters
|
|
595
|
+
|
|
596
|
+
Name | Type | Description | Notes
|
|
597
|
+
------------- | ------------- | ------------- | -------------
|
|
598
|
+
**request** | [**UrlHtmlSsrfRequestFull**](UrlHtmlSsrfRequestFull.md)| Input URL request |
|
|
599
|
+
|
|
600
|
+
### Return type
|
|
601
|
+
|
|
602
|
+
[**UrlHtmlSsrfResponseFull**](UrlHtmlSsrfResponseFull.md)
|
|
603
|
+
|
|
604
|
+
### Authorization
|
|
605
|
+
|
|
606
|
+
[Apikey](../README.md#Apikey)
|
|
607
|
+
|
|
608
|
+
### HTTP request headers
|
|
609
|
+
|
|
610
|
+
- **Content-Type**: application/json, text/json
|
|
611
|
+
- **Accept**: application/json, text/json, application/xml, text/xml
|
|
612
|
+
|
|
613
|
+
|
|
614
|
+
|
|
560
615
|
# **domain_url_syntax_only**
|
|
561
616
|
> ValidateUrlResponseSyntaxOnly domain_url_syntax_only(request)
|
|
562
617
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# CloudmersiveValidateApiClient::UrlHtmlSsrfResponseFull
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
Name | Type | Description | Notes
|
|
5
|
+
------------ | ------------- | ------------- | -------------
|
|
6
|
+
**clean_url** | **BOOLEAN** | True if the URL is clean, false if it is at risk of containing an SSRF threat or attack | [optional]
|
|
7
|
+
**http_response_code** | **Integer** | HTTP response code from the URL | [optional]
|
|
8
|
+
|
|
9
|
+
|
|
@@ -66,6 +66,8 @@ require 'cloudmersive-validate-api-client/models/sql_injection_check_request_ite
|
|
|
66
66
|
require 'cloudmersive-validate-api-client/models/sql_injection_detection_result'
|
|
67
67
|
require 'cloudmersive-validate-api-client/models/timezone'
|
|
68
68
|
require 'cloudmersive-validate-api-client/models/tor_node_response'
|
|
69
|
+
require 'cloudmersive-validate-api-client/models/url_html_ssrf_request_full'
|
|
70
|
+
require 'cloudmersive-validate-api-client/models/url_html_ssrf_response_full'
|
|
69
71
|
require 'cloudmersive-validate-api-client/models/url_safety_check_request_full'
|
|
70
72
|
require 'cloudmersive-validate-api-client/models/url_safety_check_response_full'
|
|
71
73
|
require 'cloudmersive-validate-api-client/models/url_ssrf_request_batch'
|
|
@@ -559,6 +559,60 @@ module CloudmersiveValidateApiClient
|
|
|
559
559
|
end
|
|
560
560
|
return data, status_code, headers
|
|
561
561
|
end
|
|
562
|
+
# Check a URL for HTML embedded SSRF threats
|
|
563
|
+
# Checks if an input URL HTML is at risk of containing one or more embedded SSRF (Server-side request forgery) threats or attacks.
|
|
564
|
+
# @param request Input URL request
|
|
565
|
+
# @param [Hash] opts the optional parameters
|
|
566
|
+
# @return [UrlHtmlSsrfResponseFull]
|
|
567
|
+
def domain_url_html_ssrf_check(request, opts = {})
|
|
568
|
+
data, _status_code, _headers = domain_url_html_ssrf_check_with_http_info(request, opts)
|
|
569
|
+
data
|
|
570
|
+
end
|
|
571
|
+
|
|
572
|
+
# Check a URL for HTML embedded SSRF threats
|
|
573
|
+
# Checks if an input URL HTML is at risk of containing one or more embedded SSRF (Server-side request forgery) threats or attacks.
|
|
574
|
+
# @param request Input URL request
|
|
575
|
+
# @param [Hash] opts the optional parameters
|
|
576
|
+
# @return [Array<(UrlHtmlSsrfResponseFull, Fixnum, Hash)>] UrlHtmlSsrfResponseFull data, response status code and response headers
|
|
577
|
+
def domain_url_html_ssrf_check_with_http_info(request, opts = {})
|
|
578
|
+
if @api_client.config.debugging
|
|
579
|
+
@api_client.config.logger.debug 'Calling API: DomainApi.domain_url_html_ssrf_check ...'
|
|
580
|
+
end
|
|
581
|
+
# verify the required parameter 'request' is set
|
|
582
|
+
if @api_client.config.client_side_validation && request.nil?
|
|
583
|
+
fail ArgumentError, "Missing the required parameter 'request' when calling DomainApi.domain_url_html_ssrf_check"
|
|
584
|
+
end
|
|
585
|
+
# resource path
|
|
586
|
+
local_var_path = '/validate/domain/url/ssrf-threat-check/html-embedded'
|
|
587
|
+
|
|
588
|
+
# query parameters
|
|
589
|
+
query_params = {}
|
|
590
|
+
|
|
591
|
+
# header parameters
|
|
592
|
+
header_params = {}
|
|
593
|
+
# HTTP header 'Accept' (if needed)
|
|
594
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
|
|
595
|
+
# HTTP header 'Content-Type'
|
|
596
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json'])
|
|
597
|
+
|
|
598
|
+
# form parameters
|
|
599
|
+
form_params = {}
|
|
600
|
+
|
|
601
|
+
# http body (model)
|
|
602
|
+
post_body = @api_client.object_to_http_body(request)
|
|
603
|
+
auth_names = ['Apikey']
|
|
604
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path,
|
|
605
|
+
:header_params => header_params,
|
|
606
|
+
:query_params => query_params,
|
|
607
|
+
:form_params => form_params,
|
|
608
|
+
:body => post_body,
|
|
609
|
+
:auth_names => auth_names,
|
|
610
|
+
:return_type => 'UrlHtmlSsrfResponseFull')
|
|
611
|
+
if @api_client.config.debugging
|
|
612
|
+
@api_client.config.logger.debug "API called: DomainApi#domain_url_html_ssrf_check\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
613
|
+
end
|
|
614
|
+
return data, status_code, headers
|
|
615
|
+
end
|
|
562
616
|
# Validate a URL syntactically
|
|
563
617
|
# Validate whether a URL is syntactically valid (does not check endpoint for validity). Accepts various types of input and produces a well-formed URL as output.
|
|
564
618
|
# @param request Input URL information
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#validateapi
|
|
3
|
+
|
|
4
|
+
#The validation APIs help you validate data. Check if an E-mail address is real. Check if a domain is real. Check up on an IP address, and even where it is located. All this and much more is available in the validation API.
|
|
5
|
+
|
|
6
|
+
OpenAPI spec version: v1
|
|
7
|
+
|
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
+
Swagger Codegen version: 2.4.14
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
|
|
15
|
+
module CloudmersiveValidateApiClient
|
|
16
|
+
# Request to determine if a URL contains HTML-embedded SSRF threats
|
|
17
|
+
class UrlHtmlSsrfRequestFull
|
|
18
|
+
# URL to validate
|
|
19
|
+
attr_accessor :url
|
|
20
|
+
|
|
21
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
22
|
+
def self.attribute_map
|
|
23
|
+
{
|
|
24
|
+
:'url' => :'URL'
|
|
25
|
+
}
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Attribute type mapping.
|
|
29
|
+
def self.swagger_types
|
|
30
|
+
{
|
|
31
|
+
:'url' => :'String'
|
|
32
|
+
}
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Initializes the object
|
|
36
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
37
|
+
def initialize(attributes = {})
|
|
38
|
+
return unless attributes.is_a?(Hash)
|
|
39
|
+
|
|
40
|
+
# convert string to symbol for hash key
|
|
41
|
+
attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
|
|
42
|
+
|
|
43
|
+
if attributes.has_key?(:'URL')
|
|
44
|
+
self.url = attributes[:'URL']
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
49
|
+
# @return Array for valid properties with the reasons
|
|
50
|
+
def list_invalid_properties
|
|
51
|
+
invalid_properties = Array.new
|
|
52
|
+
invalid_properties
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Check to see if the all the properties in the model are valid
|
|
56
|
+
# @return true if the model is valid
|
|
57
|
+
def valid?
|
|
58
|
+
true
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Checks equality by comparing each attribute.
|
|
62
|
+
# @param [Object] Object to be compared
|
|
63
|
+
def ==(o)
|
|
64
|
+
return true if self.equal?(o)
|
|
65
|
+
self.class == o.class &&
|
|
66
|
+
url == o.url
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# @see the `==` method
|
|
70
|
+
# @param [Object] Object to be compared
|
|
71
|
+
def eql?(o)
|
|
72
|
+
self == o
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# Calculates hash code according to all attributes.
|
|
76
|
+
# @return [Fixnum] Hash code
|
|
77
|
+
def hash
|
|
78
|
+
[url].hash
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Builds the object from hash
|
|
82
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
83
|
+
# @return [Object] Returns the model itself
|
|
84
|
+
def build_from_hash(attributes)
|
|
85
|
+
return nil unless attributes.is_a?(Hash)
|
|
86
|
+
self.class.swagger_types.each_pair do |key, type|
|
|
87
|
+
if type =~ /\AArray<(.*)>/i
|
|
88
|
+
# check to ensure the input is an array given that the attribute
|
|
89
|
+
# is documented as an array but the input is not
|
|
90
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
91
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
|
92
|
+
end
|
|
93
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
94
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
95
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
self
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# Deserializes the data based on type
|
|
102
|
+
# @param string type Data type
|
|
103
|
+
# @param string value Value to be deserialized
|
|
104
|
+
# @return [Object] Deserialized data
|
|
105
|
+
def _deserialize(type, value)
|
|
106
|
+
case type.to_sym
|
|
107
|
+
when :DateTime
|
|
108
|
+
DateTime.parse(value)
|
|
109
|
+
when :Date
|
|
110
|
+
Date.parse(value)
|
|
111
|
+
when :String
|
|
112
|
+
value.to_s
|
|
113
|
+
when :Integer
|
|
114
|
+
value.to_i
|
|
115
|
+
when :Float
|
|
116
|
+
value.to_f
|
|
117
|
+
when :BOOLEAN
|
|
118
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
119
|
+
true
|
|
120
|
+
else
|
|
121
|
+
false
|
|
122
|
+
end
|
|
123
|
+
when :Object
|
|
124
|
+
# generic object (usually a Hash), return directly
|
|
125
|
+
value
|
|
126
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
127
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
128
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
129
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
130
|
+
k_type = Regexp.last_match[:k_type]
|
|
131
|
+
v_type = Regexp.last_match[:v_type]
|
|
132
|
+
{}.tap do |hash|
|
|
133
|
+
value.each do |k, v|
|
|
134
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
else # model
|
|
138
|
+
temp_model = CloudmersiveValidateApiClient.const_get(type).new
|
|
139
|
+
temp_model.build_from_hash(value)
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
# Returns the string representation of the object
|
|
144
|
+
# @return [String] String presentation of the object
|
|
145
|
+
def to_s
|
|
146
|
+
to_hash.to_s
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
# to_body is an alias to to_hash (backward compatibility)
|
|
150
|
+
# @return [Hash] Returns the object in the form of hash
|
|
151
|
+
def to_body
|
|
152
|
+
to_hash
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
# Returns the object in the form of hash
|
|
156
|
+
# @return [Hash] Returns the object in the form of hash
|
|
157
|
+
def to_hash
|
|
158
|
+
hash = {}
|
|
159
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
160
|
+
value = self.send(attr)
|
|
161
|
+
next if value.nil?
|
|
162
|
+
hash[param] = _to_hash(value)
|
|
163
|
+
end
|
|
164
|
+
hash
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
# Outputs non-array value in the form of hash
|
|
168
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
169
|
+
# @param [Object] value Any valid value
|
|
170
|
+
# @return [Hash] Returns the value in the form of hash
|
|
171
|
+
def _to_hash(value)
|
|
172
|
+
if value.is_a?(Array)
|
|
173
|
+
value.compact.map { |v| _to_hash(v) }
|
|
174
|
+
elsif value.is_a?(Hash)
|
|
175
|
+
{}.tap do |hash|
|
|
176
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
177
|
+
end
|
|
178
|
+
elsif value.respond_to? :to_hash
|
|
179
|
+
value.to_hash
|
|
180
|
+
else
|
|
181
|
+
value
|
|
182
|
+
end
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
end
|
|
186
|
+
end
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#validateapi
|
|
3
|
+
|
|
4
|
+
#The validation APIs help you validate data. Check if an E-mail address is real. Check if a domain is real. Check up on an IP address, and even where it is located. All this and much more is available in the validation API.
|
|
5
|
+
|
|
6
|
+
OpenAPI spec version: v1
|
|
7
|
+
|
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
+
Swagger Codegen version: 2.4.14
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
|
|
15
|
+
module CloudmersiveValidateApiClient
|
|
16
|
+
# Result of checking a URL for HTML-embedded SSRF threats
|
|
17
|
+
class UrlHtmlSsrfResponseFull
|
|
18
|
+
# True if the URL is clean, false if it is at risk of containing an SSRF threat or attack
|
|
19
|
+
attr_accessor :clean_url
|
|
20
|
+
|
|
21
|
+
# HTTP response code from the URL
|
|
22
|
+
attr_accessor :http_response_code
|
|
23
|
+
|
|
24
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
25
|
+
def self.attribute_map
|
|
26
|
+
{
|
|
27
|
+
:'clean_url' => :'CleanURL',
|
|
28
|
+
:'http_response_code' => :'HttpResponseCode'
|
|
29
|
+
}
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Attribute type mapping.
|
|
33
|
+
def self.swagger_types
|
|
34
|
+
{
|
|
35
|
+
:'clean_url' => :'BOOLEAN',
|
|
36
|
+
:'http_response_code' => :'Integer'
|
|
37
|
+
}
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Initializes the object
|
|
41
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
42
|
+
def initialize(attributes = {})
|
|
43
|
+
return unless attributes.is_a?(Hash)
|
|
44
|
+
|
|
45
|
+
# convert string to symbol for hash key
|
|
46
|
+
attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
|
|
47
|
+
|
|
48
|
+
if attributes.has_key?(:'CleanURL')
|
|
49
|
+
self.clean_url = attributes[:'CleanURL']
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
if attributes.has_key?(:'HttpResponseCode')
|
|
53
|
+
self.http_response_code = attributes[:'HttpResponseCode']
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
58
|
+
# @return Array for valid properties with the reasons
|
|
59
|
+
def list_invalid_properties
|
|
60
|
+
invalid_properties = Array.new
|
|
61
|
+
invalid_properties
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Check to see if the all the properties in the model are valid
|
|
65
|
+
# @return true if the model is valid
|
|
66
|
+
def valid?
|
|
67
|
+
true
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Checks equality by comparing each attribute.
|
|
71
|
+
# @param [Object] Object to be compared
|
|
72
|
+
def ==(o)
|
|
73
|
+
return true if self.equal?(o)
|
|
74
|
+
self.class == o.class &&
|
|
75
|
+
clean_url == o.clean_url &&
|
|
76
|
+
http_response_code == o.http_response_code
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# @see the `==` method
|
|
80
|
+
# @param [Object] Object to be compared
|
|
81
|
+
def eql?(o)
|
|
82
|
+
self == o
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# Calculates hash code according to all attributes.
|
|
86
|
+
# @return [Fixnum] Hash code
|
|
87
|
+
def hash
|
|
88
|
+
[clean_url, http_response_code].hash
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# Builds the object from hash
|
|
92
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
93
|
+
# @return [Object] Returns the model itself
|
|
94
|
+
def build_from_hash(attributes)
|
|
95
|
+
return nil unless attributes.is_a?(Hash)
|
|
96
|
+
self.class.swagger_types.each_pair do |key, type|
|
|
97
|
+
if type =~ /\AArray<(.*)>/i
|
|
98
|
+
# check to ensure the input is an array given that the attribute
|
|
99
|
+
# is documented as an array but the input is not
|
|
100
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
101
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
|
102
|
+
end
|
|
103
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
104
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
105
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
self
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# Deserializes the data based on type
|
|
112
|
+
# @param string type Data type
|
|
113
|
+
# @param string value Value to be deserialized
|
|
114
|
+
# @return [Object] Deserialized data
|
|
115
|
+
def _deserialize(type, value)
|
|
116
|
+
case type.to_sym
|
|
117
|
+
when :DateTime
|
|
118
|
+
DateTime.parse(value)
|
|
119
|
+
when :Date
|
|
120
|
+
Date.parse(value)
|
|
121
|
+
when :String
|
|
122
|
+
value.to_s
|
|
123
|
+
when :Integer
|
|
124
|
+
value.to_i
|
|
125
|
+
when :Float
|
|
126
|
+
value.to_f
|
|
127
|
+
when :BOOLEAN
|
|
128
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
129
|
+
true
|
|
130
|
+
else
|
|
131
|
+
false
|
|
132
|
+
end
|
|
133
|
+
when :Object
|
|
134
|
+
# generic object (usually a Hash), return directly
|
|
135
|
+
value
|
|
136
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
137
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
138
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
139
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
140
|
+
k_type = Regexp.last_match[:k_type]
|
|
141
|
+
v_type = Regexp.last_match[:v_type]
|
|
142
|
+
{}.tap do |hash|
|
|
143
|
+
value.each do |k, v|
|
|
144
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
else # model
|
|
148
|
+
temp_model = CloudmersiveValidateApiClient.const_get(type).new
|
|
149
|
+
temp_model.build_from_hash(value)
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# Returns the string representation of the object
|
|
154
|
+
# @return [String] String presentation of the object
|
|
155
|
+
def to_s
|
|
156
|
+
to_hash.to_s
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
# to_body is an alias to to_hash (backward compatibility)
|
|
160
|
+
# @return [Hash] Returns the object in the form of hash
|
|
161
|
+
def to_body
|
|
162
|
+
to_hash
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
# Returns the object in the form of hash
|
|
166
|
+
# @return [Hash] Returns the object in the form of hash
|
|
167
|
+
def to_hash
|
|
168
|
+
hash = {}
|
|
169
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
170
|
+
value = self.send(attr)
|
|
171
|
+
next if value.nil?
|
|
172
|
+
hash[param] = _to_hash(value)
|
|
173
|
+
end
|
|
174
|
+
hash
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
# Outputs non-array value in the form of hash
|
|
178
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
179
|
+
# @param [Object] value Any valid value
|
|
180
|
+
# @return [Hash] Returns the value in the form of hash
|
|
181
|
+
def _to_hash(value)
|
|
182
|
+
if value.is_a?(Array)
|
|
183
|
+
value.compact.map { |v| _to_hash(v) }
|
|
184
|
+
elsif value.is_a?(Hash)
|
|
185
|
+
{}.tap do |hash|
|
|
186
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
187
|
+
end
|
|
188
|
+
elsif value.respond_to? :to_hash
|
|
189
|
+
value.to_hash
|
|
190
|
+
else
|
|
191
|
+
value
|
|
192
|
+
end
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
end
|
|
196
|
+
end
|
data/spec/api/domain_api_spec.rb
CHANGED
|
@@ -152,6 +152,18 @@ describe 'DomainApi' do
|
|
|
152
152
|
end
|
|
153
153
|
end
|
|
154
154
|
|
|
155
|
+
# unit tests for domain_url_html_ssrf_check
|
|
156
|
+
# Check a URL for HTML embedded SSRF threats
|
|
157
|
+
# Checks if an input URL HTML is at risk of containing one or more embedded SSRF (Server-side request forgery) threats or attacks.
|
|
158
|
+
# @param request Input URL request
|
|
159
|
+
# @param [Hash] opts the optional parameters
|
|
160
|
+
# @return [UrlHtmlSsrfResponseFull]
|
|
161
|
+
describe 'domain_url_html_ssrf_check test' do
|
|
162
|
+
it 'should work' do
|
|
163
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
|
|
155
167
|
# unit tests for domain_url_syntax_only
|
|
156
168
|
# Validate a URL syntactically
|
|
157
169
|
# Validate whether a URL is syntactically valid (does not check endpoint for validity). Accepts various types of input and produces a well-formed URL as output.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#validateapi
|
|
3
|
+
|
|
4
|
+
#The validation APIs help you validate data. Check if an E-mail address is real. Check if a domain is real. Check up on an IP address, and even where it is located. All this and much more is available in the validation API.
|
|
5
|
+
|
|
6
|
+
OpenAPI spec version: v1
|
|
7
|
+
|
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
+
Swagger Codegen version: 2.4.14
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for CloudmersiveValidateApiClient::UrlHtmlSsrfRequestFull
|
|
18
|
+
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe 'UrlHtmlSsrfRequestFull' do
|
|
21
|
+
before do
|
|
22
|
+
# run before each test
|
|
23
|
+
@instance = CloudmersiveValidateApiClient::UrlHtmlSsrfRequestFull.new
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
after do
|
|
27
|
+
# run after each test
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test an instance of UrlHtmlSsrfRequestFull' do
|
|
31
|
+
it 'should create an instance of UrlHtmlSsrfRequestFull' do
|
|
32
|
+
expect(@instance).to be_instance_of(CloudmersiveValidateApiClient::UrlHtmlSsrfRequestFull)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
describe 'test attribute "url"' do
|
|
36
|
+
it 'should work' do
|
|
37
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#validateapi
|
|
3
|
+
|
|
4
|
+
#The validation APIs help you validate data. Check if an E-mail address is real. Check if a domain is real. Check up on an IP address, and even where it is located. All this and much more is available in the validation API.
|
|
5
|
+
|
|
6
|
+
OpenAPI spec version: v1
|
|
7
|
+
|
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
+
Swagger Codegen version: 2.4.14
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for CloudmersiveValidateApiClient::UrlHtmlSsrfResponseFull
|
|
18
|
+
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe 'UrlHtmlSsrfResponseFull' do
|
|
21
|
+
before do
|
|
22
|
+
# run before each test
|
|
23
|
+
@instance = CloudmersiveValidateApiClient::UrlHtmlSsrfResponseFull.new
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
after do
|
|
27
|
+
# run after each test
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test an instance of UrlHtmlSsrfResponseFull' do
|
|
31
|
+
it 'should create an instance of UrlHtmlSsrfResponseFull' do
|
|
32
|
+
expect(@instance).to be_instance_of(CloudmersiveValidateApiClient::UrlHtmlSsrfResponseFull)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
describe 'test attribute "clean_url"' do
|
|
36
|
+
it 'should work' do
|
|
37
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
describe 'test attribute "http_response_code"' do
|
|
42
|
+
it 'should work' do
|
|
43
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cloudmersive-validate-api-client
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.2.
|
|
4
|
+
version: 2.2.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Cloudmersive
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-05-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: typhoeus
|
|
@@ -261,6 +261,8 @@ files:
|
|
|
261
261
|
- "./docs/TextInputApi.md"
|
|
262
262
|
- "./docs/Timezone.md"
|
|
263
263
|
- "./docs/TorNodeResponse.md"
|
|
264
|
+
- "./docs/UrlHtmlSsrfRequestFull.md"
|
|
265
|
+
- "./docs/UrlHtmlSsrfResponseFull.md"
|
|
264
266
|
- "./docs/UrlSafetyCheckRequestFull.md"
|
|
265
267
|
- "./docs/UrlSafetyCheckResponseFull.md"
|
|
266
268
|
- "./docs/UrlSsrfRequestBatch.md"
|
|
@@ -363,6 +365,8 @@ files:
|
|
|
363
365
|
- "./lib/cloudmersive-validate-api-client/models/sql_injection_detection_result.rb"
|
|
364
366
|
- "./lib/cloudmersive-validate-api-client/models/timezone.rb"
|
|
365
367
|
- "./lib/cloudmersive-validate-api-client/models/tor_node_response.rb"
|
|
368
|
+
- "./lib/cloudmersive-validate-api-client/models/url_html_ssrf_request_full.rb"
|
|
369
|
+
- "./lib/cloudmersive-validate-api-client/models/url_html_ssrf_response_full.rb"
|
|
366
370
|
- "./lib/cloudmersive-validate-api-client/models/url_safety_check_request_full.rb"
|
|
367
371
|
- "./lib/cloudmersive-validate-api-client/models/url_safety_check_response_full.rb"
|
|
368
372
|
- "./lib/cloudmersive-validate-api-client/models/url_ssrf_request_batch.rb"
|
|
@@ -461,6 +465,8 @@ files:
|
|
|
461
465
|
- "./spec/models/sql_injection_detection_result_spec.rb"
|
|
462
466
|
- "./spec/models/timezone_spec.rb"
|
|
463
467
|
- "./spec/models/tor_node_response_spec.rb"
|
|
468
|
+
- "./spec/models/url_html_ssrf_request_full_spec.rb"
|
|
469
|
+
- "./spec/models/url_html_ssrf_response_full_spec.rb"
|
|
464
470
|
- "./spec/models/url_safety_check_request_full_spec.rb"
|
|
465
471
|
- "./spec/models/url_safety_check_response_full_spec.rb"
|
|
466
472
|
- "./spec/models/url_ssrf_request_batch_spec.rb"
|