fastly 1.2.3 → 1.3.0

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
  SHA1:
3
- metadata.gz: bc45c44da147856313fb82846c62bb8ca9cf1d2f
4
- data.tar.gz: 98da6a0bc7d0e4e38a9d7dd6c0054d9d48babfbf
3
+ metadata.gz: 41770bdcf1d13d916bbc1c33620497ced6259270
4
+ data.tar.gz: ddf4eb5b4b18d0932ddf340dffe73571ac47f68b
5
5
  SHA512:
6
- metadata.gz: 09b0da4e4adb6d77b012bc42d957fa0a4733a8c4ba5d13690a8b1f8a8195b6854bbe7651bd7fb34dd96304a5e590225c62cb0991084a91031c23f0416ac09fe3
7
- data.tar.gz: e029ee919044c1f8a8e85821970d5c72aa287a712a1f699fa670dec72e5865368589dcb727d6f9c8d358772d118f25eabb2d89f64807871e76383235d5321254
6
+ metadata.gz: 9602cf07f2d1f405f13afb0ea0aca1238722ebf5539b0c1e8079058b487027d541ce29d83f31145fcc4fb3e7c7e40c7e48976eac113265c8149dfa089c92890f
7
+ data.tar.gz: 529cc34f51929cf9dbb8b876002a79709348427ba57b1e4e698fa7f5d20549d11188b88714c9535b2a83446acf96b58446728de4ec0c99f526c5cd2aacaac9c7
@@ -0,0 +1,5 @@
1
+ # Changelog
2
+
3
+ ### 1.3.0 / 2016-04-04
4
+ * Adds missing fields for Backend, Healthcheck, S3, & Syslog (@raybejjani)
5
+ * URL escape names when used in URLs (@raybejjani)
@@ -2,7 +2,9 @@ class Fastly
2
2
  # An individual host you want to serve assets off
3
3
  class Backend < BelongsToServiceAndVersion
4
4
  attr_accessor :service_id, :name, :address, :ipv4, :ipv6, :hostname, :use_ssl, :client_cert, :port,
5
- :connect_timeout, :first_byte_timeout, :between_bytes_timeout, :error_threshold, :max_conn, :weight, :comment, :healthcheck, :auto_loadbalance, :request_condition
5
+ :connect_timeout, :first_byte_timeout, :between_bytes_timeout, :error_threshold, :max_conn, :weight, :comment, :healthcheck, :auto_loadbalance, :request_condition,
6
+ :ssl_check_cert, :ssl_hostname, :ssl_cert_hostname, :ssl_sni_hostname, :min_tls_version, :max_tls_version, :ssl_ciphers,
7
+ :shield
6
8
 
7
9
  ##
8
10
  # :attr: service_id
@@ -109,5 +111,46 @@ class Fastly
109
111
  # :attr: request_condition
110
112
  #
111
113
  # name of a request_condition to filter the backend on
114
+
115
+ ##
116
+ # :attr: ssl_check_cert
117
+ #
118
+ # be strict on checking SSL certs.
119
+
120
+ ##
121
+ # :attr: ssl_hostname
122
+ #
123
+ # used for both SNI during the TLS handshake and to validate the cert.
124
+
125
+ ##
126
+ # :attr: ssl_cert_hostname
127
+ #
128
+ # overrides ssl_hostname, but only for cert verification. Does not affect SNI at all.
129
+
130
+ ##
131
+ # :attr: ssl_sni_hostname
132
+ #
133
+ # overrides ssl_hostname, but only for SNI in the handshake. Does not affect cert validation at all.
134
+
135
+ ##
136
+ # :attr: min_tls_version
137
+ #
138
+ # minimum allowed TLS version on ssl connections to this backend
139
+
140
+ ##
141
+ # :attr: max_tls_version
142
+ #
143
+ # maximum allowed TLS version on ssl connections to this backend.
144
+
145
+ ##
146
+ # :attr: ssl_ciphers
147
+ #
148
+ # list of openssl ciphers (see https://www.openssl.org/docs/manmaster/apps/ciphers.html for details)
149
+
150
+ ##
151
+ # :attr: shield
152
+ #
153
+ # name of a datacenter to shield requests
154
+
112
155
  end
113
156
  end
@@ -1,3 +1,5 @@
1
+ require 'uri'
2
+
1
3
  class Fastly
2
4
  # Encapsulates behavior of objects requiring both service and version
3
5
  class BelongsToServiceAndVersion < Base
@@ -23,8 +25,15 @@ class Fastly
23
25
  super.delete_if { |var| %w(service_id version).include?(var) }
24
26
  end
25
27
 
28
+ # URI escape (including spaces) the path and return it
29
+ def self.path_escape(path)
30
+ @uri_parser ||= URI::Parser.new
31
+ # the leading space in the escape character set is intentional
32
+ @uri_parser.escape(path, ' !*\'();:@&=+$,/?#[]')
33
+ end
34
+
26
35
  def self.get_path(service, version, name, _opts = {})
27
- "/service/#{service}/version/#{version}/#{path}/#{name}"
36
+ "/service/#{service}/version/#{version}/#{path}/#{path_escape(name)}"
28
37
  end
29
38
 
30
39
  def self.post_path(opts)
@@ -1,4 +1,4 @@
1
1
  # The current version of the library
2
2
  class Fastly
3
- VERSION = "1.2.3"
3
+ VERSION = "1.3.0"
4
4
  end
@@ -1,7 +1,7 @@
1
1
  class Fastly
2
2
  # A way of keeping track of any of your hosts which are down
3
3
  class Healthcheck < BelongsToServiceAndVersion
4
- attr_accessor :service_id, :name, :comment, :path, :host, :http_version, :timeout, :window, :threshold
4
+ attr_accessor :service_id, :name, :comment, :path, :host, :http_version, :timeout, :window, :threshold, :method, :expected_response, :initial, :check_interval
5
5
 
6
6
  ##
7
7
  # :attr: service_id
@@ -61,4 +61,24 @@ class Fastly
61
61
  #
62
62
  # How many have to be ok for it work
63
63
  end
64
+
65
+ ##
66
+ # :attr: method
67
+ #
68
+ # The HTTP method to use: GET, PUT, POST etc.
69
+
70
+ ##
71
+ # :attr: expected_response
72
+ #
73
+ # The HTTP status to indicate a successful healthcheck (e.g. 200)
74
+
75
+ ##
76
+ # :attr: initial
77
+ #
78
+ # How many have to be ok for it work the first time
79
+
80
+ ##
81
+ # :attr: check_interval
82
+ #
83
+ # Time between checks in milliseconds
64
84
  end
@@ -1,7 +1,7 @@
1
1
  class Fastly
2
2
  # An s3 endpoint to stream logs to
3
3
  class S3Logging < BelongsToServiceAndVersion
4
- attr_accessor :service_id, :name, :bucket_name, :access_key, :secret_key, :path, :period, :gzip_level, :format, :response_condition
4
+ attr_accessor :service_id, :name, :bucket_name, :access_key, :secret_key, :path, :period, :gzip_level, :format, :response_condition, :timestamp_format, :domain, :redundancy
5
5
 
6
6
  ##
7
7
  # :attr: service_id
@@ -59,6 +59,26 @@ class Fastly
59
59
  #
60
60
  # When to execute the s3 logging. If empty, always execute.
61
61
 
62
+ ##
63
+ # :attr: timestamp_format
64
+ #
65
+ # strftime specified timestamp formatting (default "%Y-%m-%dT%H:%M:%S.000").
66
+
67
+ ##
68
+ # :attr: domain
69
+ #
70
+ # The region-specific endpoint for your domain if your AWS S3 bucket was not
71
+ # set up in the US Standard region. See Amazon's list of supported,
72
+ # region-specific endpoints for more info.
73
+ # http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
74
+
75
+ ##
76
+ # :attr: redundancy
77
+ #
78
+ # The S3 redundancy level. Defaults to Standard. See
79
+ # http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingRRS.html on using reduced
80
+ # redundancy storage for more information.
81
+
62
82
  def self.path
63
83
  'logging/s3'
64
84
  end
@@ -1,7 +1,7 @@
1
1
  class Fastly
2
2
  # An endpoint to stream syslogs to
3
3
  class Syslog < BelongsToServiceAndVersion
4
- attr_accessor :service_id, :name, :comment, :ipv4, :ipv6, :hostname, :port, :format, :response_conditions
4
+ attr_accessor :service_id, :name, :comment, :ipv4, :ipv6, :hostname, :port, :token, :format, :response_conditions, :use_tls, :tls_hostname, :tls_ca_cert
5
5
 
6
6
  ##
7
7
  # :attr: service_id
@@ -53,6 +53,11 @@ class Fastly
53
53
  #
54
54
  # the port to stream logs to (defaults to 514)
55
55
 
56
+ ##
57
+ # :attr: token
58
+ #
59
+ # Whether to prepend each message with a specific token.
60
+
56
61
  ##
57
62
  # :attr: format
58
63
  #
@@ -62,5 +67,22 @@ class Fastly
62
67
  # :attr: response_condition
63
68
  #
64
69
  # name of a response_condition to filter the log on, if empty it always logs
70
+
71
+ ##
72
+ # :attr: use_tls
73
+ #
74
+ # Establish a TLS connection when connecting
75
+
76
+ ##
77
+ # :attr: tls_hostname
78
+ #
79
+ # Hostname used to verify the certificate. It can either be the CN or be in
80
+ # subAltNames. Not required.
81
+
82
+ ##
83
+ # :attr: tls_ca_cert
84
+ #
85
+ # Use this pem formatted certificate as the CA cert to verify the syslog
86
+ # server's certificate
65
87
  end
66
88
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastly
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fastly
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-15 00:00:00.000000000 Z
11
+ date: 2016-04-04 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Client library for the Fastly acceleration system
14
14
  email:
@@ -21,9 +21,10 @@ executables:
21
21
  extensions: []
22
22
  extra_rdoc_files: []
23
23
  files:
24
- - .gitignore
25
- - .rubocop.yml
26
- - .travis.yml
24
+ - ".gitignore"
25
+ - ".rubocop.yml"
26
+ - ".travis.yml"
27
+ - CHANGELOG.md
27
28
  - Gemfile
28
29
  - HISTORY.md
29
30
  - LICENSE
@@ -80,17 +81,17 @@ require_paths:
80
81
  - lib
81
82
  required_ruby_version: !ruby/object:Gem::Requirement
82
83
  requirements:
83
- - - '>='
84
+ - - ">="
84
85
  - !ruby/object:Gem::Version
85
86
  version: '0'
86
87
  required_rubygems_version: !ruby/object:Gem::Requirement
87
88
  requirements:
88
- - - '>='
89
+ - - ">="
89
90
  - !ruby/object:Gem::Version
90
91
  version: '0'
91
92
  requirements: []
92
93
  rubyforge_project:
93
- rubygems_version: 2.0.14
94
+ rubygems_version: 2.5.1
94
95
  signing_key:
95
96
  specification_version: 4
96
97
  summary: Client library for the Fastly acceleration system