dav4rack 0.1.8 → 0.2.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.
- data/README.rdoc +4 -7
- data/lib/dav4rack/remote_file.rb +3 -1
- data/lib/dav4rack/resource.rb +9 -2
- data/lib/dav4rack/version.rb +1 -1
- metadata +5 -5
data/README.rdoc
CHANGED
@@ -180,16 +180,13 @@ and as such should be applicable to other servers. First, a simplified NGINX ser
|
|
180
180
|
proxy_pass http://my_app_server;
|
181
181
|
}
|
182
182
|
|
183
|
-
location ~* /webdav_redirect
|
183
|
+
location ~* /webdav_redirect {
|
184
184
|
internal;
|
185
185
|
resolver 127.0.0.1;
|
186
|
-
set $re_host $1;
|
187
|
-
set $re_path $2;
|
188
|
-
set $re_url http://$re_host/$re_path?$args;
|
189
186
|
proxy_set_header Authorization '';
|
190
|
-
proxy_set_header Host $
|
187
|
+
proxy_set_header Host $upstream_http_redirect_host;
|
191
188
|
proxy_max_temp_file_size 0;
|
192
|
-
proxy_pass $
|
189
|
+
proxy_pass $upstream_http_redirect_url;
|
193
190
|
}
|
194
191
|
}
|
195
192
|
|
@@ -308,4 +305,4 @@ A big thanks to everyone contributing to help make this project better.
|
|
308
305
|
|
309
306
|
== License
|
310
307
|
|
311
|
-
Just like RackDAV before it, this software is distributed under the MIT license.
|
308
|
+
Just like RackDAV before it, this software is distributed under the MIT license.
|
data/lib/dav4rack/remote_file.rb
CHANGED
@@ -61,7 +61,9 @@ module DAV4Rack
|
|
61
61
|
"Last-Modified" => last_modified,
|
62
62
|
"Content-Type" => content_type,
|
63
63
|
"Content-Length" => size,
|
64
|
-
|
64
|
+
"Redirect-URL" => @path,
|
65
|
+
"Redirect-Host" => @path.scan(%r{^https?://([^/\?]+)}).first.first,
|
66
|
+
header => "/#{prefix}"
|
65
67
|
},
|
66
68
|
['']]
|
67
69
|
end
|
data/lib/dav4rack/resource.rb
CHANGED
@@ -394,9 +394,16 @@ module DAV4Rack
|
|
394
394
|
end
|
395
395
|
|
396
396
|
# Does client allow GET redirection
|
397
|
-
# TODO: Get a comprehensive list in here.
|
397
|
+
# TODO: Get a comprehensive list in here.
|
398
|
+
# TODO: Allow this to be dynamic so users can add regexes to match if they know of a client
|
399
|
+
# that can be supported that is not listed.
|
398
400
|
def allows_redirect?
|
399
|
-
|
401
|
+
[
|
402
|
+
%r{cyberduck}i,
|
403
|
+
%r{konqueror}i
|
404
|
+
].any? do |regexp|
|
405
|
+
(request.respond_to?(:user_agent) ? request.user_agent : request.env['HTTP_USER_AGENT']) =~ regexp
|
406
|
+
end
|
400
407
|
end
|
401
408
|
|
402
409
|
# Returns authentication credentials if available in form of [username,password]
|
data/lib/dav4rack/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dav4rack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Chris Roberts
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-01-07 00:00:00 -08:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|