adsf 1.4.0 → 1.4.5

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: 0d10dbc0c7655c4d10cfc4fd23f2c3dd4d80e6c39c2ea67f88e3ab85dcc38797
4
- data.tar.gz: 428273f5866ac20c98e634d8a17fb4d2b79666e87620f5982205ebf062d59eb9
3
+ metadata.gz: 2bed7a7c5f5574997d0eeec598d71b4dc147d7e06791882652e09aaadf268148
4
+ data.tar.gz: ef22cbacc165d8c1f52ec905e65a23890d64620cec940e20f613c78f4714927a
5
5
  SHA512:
6
- metadata.gz: 8c2f39e4e2e95d1a8e8800595b9e8efb50f1db75fca481f8f0c40a17b22fa138bac641c72edddcd9980c6a6c39f1a432afe9c1d8843c29f6ab88317b43bffd50
7
- data.tar.gz: 03c8c274075be4b448c38dfa0a7d59c9790403d02f20693f9eaf52d858dfdd4d1d632b77e21d6edace1623eca076078bf82a37af074919fae02745c30fe518f1
6
+ metadata.gz: e4ae8c69113fb49375848f7542a9e9105f4dea4ef95bf37d5bcae57e6214b34aa5c19eb0c42d45229dac4de680d15c105911ac3fc2516ed2df6abfb656f9e0af
7
+ data.tar.gz: a051d166b79f4d763b5ea4cb53cc881290d4411246822233a17ecb24d2e25bb4f21b212aa6738403a4490fe34385e4c9e203d44b92d05d2e8c3388bd2cc46d45
data/NEWS.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # Release notes for adsf
2
2
 
3
+ ## 1.4.5 (2020-12-31)
4
+
5
+ Changes:
6
+
7
+ * Added support for Ruby 3.0
8
+ * Dropped support for Ruby 2.4 and 2.5
9
+
10
+ ## 1.4.4 (2020-12-18)
11
+
12
+ Enhancements:
13
+
14
+ * Let Rack handler default to what Rack considers to be default (not Thin)
15
+
16
+ ## 1.4.3 (2019-12-06)
17
+
18
+ Fixes:
19
+
20
+ * Fixed incorrect Cache-Control stale-if-error header value (#20) [Chris Chapman]
21
+
22
+ ## 1.4.2 (2019-05-26)
23
+
24
+ Enhancements:
25
+
26
+ * Set `Cache-Control` HTTP header to prevent caching (#17, #18) [Daniel Aleksandersen]
27
+
28
+ ## 1.4.1 (2018-02-02)
29
+
30
+ Fixes:
31
+
32
+ * [adsf-live] Fixed Windows compatibility (#14)
33
+
3
34
  ## 1.4.0 (2017-11-26)
4
35
 
5
36
  Features:
data/README.md CHANGED
@@ -25,7 +25,7 @@ _adsf_ (**A** **D**ead **S**imple **F**ileserver) is a tiny static web server th
25
25
 
26
26
  See `adsf --help` for details.
27
27
 
28
- To use `adsf --live-reload`, please install the separate `adsf-live` gem. (The live-reload support is not part of adsf itself, because the dependencies of `adsf-life` make it difficult to install under some circumstances.)
28
+ To use `adsf --live-reload`, please install the separate `adsf-live` gem. (The live-reload support is not part of adsf itself, because the dependencies of `adsf-live` make it difficult to install under some circumstances.)
29
29
 
30
30
  Using adsf programmatically
31
31
  ---------------------------
@@ -6,4 +6,5 @@ module Adsf
6
6
  end
7
7
 
8
8
  require 'adsf/rack/index_file_finder'
9
+ require 'adsf/rack/caching'
9
10
  require 'adsf/rack/cors'
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Adsf::Rack
4
+ class Caching
5
+ def initialize(app)
6
+ @app = app
7
+ end
8
+
9
+ def call(env)
10
+ status, headers, body = *@app.call(env)
11
+
12
+ new_headers =
13
+ headers.merge(
14
+ 'Cache-Control' => 'max-age=0, stale-if-error=0',
15
+ )
16
+
17
+ [status, new_headers, body]
18
+ end
19
+ end
20
+ end
@@ -2,8 +2,6 @@
2
2
 
3
3
  module Adsf
4
4
  class Server
5
- DEFAULT_HANDLER_NAME = :thin
6
-
7
5
  def initialize(root:, live: false, index_filenames: ['index.html'], host: '127.0.0.1', port: 3000, handler: nil)
8
6
  @root = root
9
7
  @live = live
@@ -57,6 +55,7 @@ module Adsf
57
55
  use ::Rack::ShowExceptions
58
56
  use ::Rack::Lint
59
57
  use ::Rack::Head
58
+ use Adsf::Rack::Caching
60
59
  use Adsf::Rack::CORS
61
60
  use Adsf::Rack::IndexFileFinder,
62
61
  root: root,
@@ -75,11 +74,7 @@ module Adsf
75
74
  if @handler
76
75
  ::Rack::Handler.get(@handler)
77
76
  else
78
- begin
79
- ::Rack::Handler.get(DEFAULT_HANDLER_NAME)
80
- rescue LoadError
81
- ::Rack::Handler::WEBrick
82
- end
77
+ ::Rack::Handler.default
83
78
  end
84
79
  end
85
80
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Adsf
4
- VERSION = '1.4.0'
4
+ VERSION = '1.4.5'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adsf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Defreyne
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-26 00:00:00.000000000 Z
11
+ date: 2020-12-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -42,6 +42,7 @@ files:
42
42
  - bin/adsf
43
43
  - lib/adsf.rb
44
44
  - lib/adsf/rack.rb
45
+ - lib/adsf/rack/caching.rb
45
46
  - lib/adsf/rack/cors.rb
46
47
  - lib/adsf/rack/index_file_finder.rb
47
48
  - lib/adsf/server.rb
@@ -50,24 +51,23 @@ homepage: http://github.com/ddfreyne/adsf/
50
51
  licenses:
51
52
  - MIT
52
53
  metadata: {}
53
- post_install_message:
54
+ post_install_message:
54
55
  rdoc_options: []
55
56
  require_paths:
56
57
  - lib
57
58
  required_ruby_version: !ruby/object:Gem::Requirement
58
59
  requirements:
59
- - - "~>"
60
+ - - ">="
60
61
  - !ruby/object:Gem::Version
61
- version: '2.3'
62
+ version: '2.5'
62
63
  required_rubygems_version: !ruby/object:Gem::Requirement
63
64
  requirements:
64
65
  - - ">="
65
66
  - !ruby/object:Gem::Version
66
67
  version: '0'
67
68
  requirements: []
68
- rubyforge_project:
69
- rubygems_version: 2.7.2
70
- signing_key:
69
+ rubygems_version: 3.2.3
70
+ signing_key:
71
71
  specification_version: 4
72
72
  summary: a tiny static file server
73
73
  test_files: []