utopia 0.9.38 → 0.9.39

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,41 @@
1
+ # This file is part of the "Utopia Framework" project, and is licensed under the GNU AGPLv3.
2
+ # Copyright 2010 Samuel Williams. All rights reserved.
3
+ # See <utopia.rb> for licensing details.
4
+ require 'utopia/middleware'
5
+ require 'utopia/path'
6
+
7
+ require 'time'
8
+
9
+ require 'digest/sha1'
10
+ require 'mime/types'
11
+
12
+ module Utopia
13
+ module Middleware
14
+
15
+ # This class filters a incoming request and only executes a given block if it matches the given filter path.
16
+ class Filter
17
+ def initialize(app, filter, &block)
18
+ @app = app
19
+ @filter = filter
20
+ branch = Rack::Builder.new(&block)
21
+ branch.run(@app)
22
+ @process = branch.to_app
23
+ end
24
+
25
+ def applicable(request)
26
+ return request.path.index(@filter) != nil
27
+ end
28
+
29
+ def call(env)
30
+ request = Rack::Request.new(env)
31
+
32
+ if applicable(request)
33
+ @process.call(env)
34
+ else
35
+ @app.call(env)
36
+ end
37
+ end
38
+ end
39
+
40
+ end
41
+ end
@@ -32,7 +32,8 @@ module Utopia
32
32
  "html", "css", "js", "txt", "rtf", "xml", "pdf"
33
33
  ],
34
34
  :archive => [
35
- "zip", "tar", "tgz", "tar.gz", "tar.bz2", ["dmg", "application/x-apple-diskimage"]
35
+ "zip", "tar", "tgz", "tar.gz", "tar.bz2", ["dmg", "application/x-apple-diskimage"],
36
+ ["torrent", "application/x-bittorrent"]
36
37
  ],
37
38
  :images => [
38
39
  "png", "gif", "jpeg", "tiff"
@@ -6,7 +6,7 @@ module Utopia
6
6
  module VERSION
7
7
  MAJOR = 0
8
8
  MINOR = 9
9
- TINY = 38
9
+ TINY = 39
10
10
 
11
11
  STRING = [MAJOR, MINOR, TINY].join('.')
12
12
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: utopia
3
3
  version: !ruby/object:Gem::Version
4
- hash: 119
4
+ hash: 117
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 9
9
- - 38
10
- version: 0.9.38
9
+ - 39
10
+ version: 0.9.39
11
11
  platform: ruby
12
12
  authors:
13
13
  - Samuel Williams
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-25 00:00:00 +12:00
18
+ date: 2010-10-22 00:00:00 +13:00
19
19
  default_executable: utopia
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -128,6 +128,7 @@ files:
128
128
  - lib/utopia/middleware/content.rb
129
129
  - lib/utopia/middleware/controller.rb
130
130
  - lib/utopia/middleware/directory_index.rb
131
+ - lib/utopia/middleware/filter.rb
131
132
  - lib/utopia/middleware/localization/name.rb
132
133
  - lib/utopia/middleware/localization.rb
133
134
  - lib/utopia/middleware/logger.rb