rbbt-rest 1.2.23 → 1.2.24

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NmE0NzYyMmFiODhkNDE4Y2ExZDM4NThhMzk2MjU3YzkzMTM5MjJiMA==
4
+ NjViNDIyYjJhNjdkYmE3MTllNjJkN2I4YTRjZTI4NWNlYmQ0NDY4YQ==
5
5
  data.tar.gz: !binary |-
6
- OGNmN2Y5ODk5ZjEwMTRmZDUzZTNiMjViMDY2NzBjMDRlNTIzYTRhYQ==
6
+ NGMxNjc1NjI2ODdlNzhlNDM1NTQyY2E4NTgxMzdlZjQ4NTc1NTcxMg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- M2IwODM0OTBkZDcyZWEzNDUwOTdjYzA1ZTUwYjVmOTc3MmUwYjU5YWYyZjAw
10
- Njg5NWJmYWE1OGQwMzQxZDRiNzRlN2YzYTQ3MDYxNzVjY2UzZmU3NmE4NGUw
11
- ODQ4NWVmMDJlYmE2M2EyMTI2NDZlZGI0YTA2NDUxNmYzMDIzYmQ=
9
+ YjIzZmVhZmU0ZTEzYTU3ZmI4ZDI0YzA0M2Q2ZDZmNTY3NjEzYmM2NmZhYzVh
10
+ ZmFlZWI3ZWEzNDFiYzc5NTQzNTljZjM3Njg0ODRmNjk3ODU4MmVmMDliNDFh
11
+ M2U0OGM1M2UxZDVlYTE3ZDEwMjQzYTljY2U4N2Q5ZTQxZDZjY2Q=
12
12
  data.tar.gz: !binary |-
13
- YzE0ODdjYTdlMTg0MmE5YjVjYzE0NTIzYzI1MTA2MmQ2MmRhODUyMTQ3YmY3
14
- ZWFjYmYxMzFjZDIyYTYxOWIyNzE0ZDA4ZmZjYzY4MDk4NThkOWE1MzVhMjdi
15
- Nzg0MzMzMzM1ZWRiOGVlZmZmNDY2ZTg3NTE2Mjg5OTk4NTYxOTU=
13
+ YTQwM2U5NzAwZDY4MDBmYzlkYWVjOTRlYmJhYTgwNzhiZmRmZDJjM2IxYjRl
14
+ MTAwZWIyZTZjY2M2ZDRjZmMwZmM4M2Y5ODljMWE2NmMwN2I4Y2FmM2YzMzAx
15
+ ZDI2M2JmYThiMmY1YjlmYjEwMDcwNmIwY2Y3MDBiZDEzMTA1ZDQ=
@@ -1,11 +1,14 @@
1
1
  require 'rbbt'
2
2
  require 'sinatra/base'
3
+ require 'sinatra/streaming'
4
+
3
5
 
4
6
  module Sinatra
5
7
  module RbbtRESTFileServer
6
8
 
7
9
  def self.registered(base)
8
10
  base.module_eval do
11
+ helpers Sinatra::Streaming
9
12
 
10
13
  get '/resource/:resource/get_directory' do
11
14
  directory, resource, create = params.values_at :directory, :resource, :create
@@ -27,24 +30,28 @@ module Sinatra
27
30
  raise "Directory does not exist" unless path.exists? or create
28
31
  raise "Directory does not exist and can not create it" unless path.exists? or path.produce.exists?
29
32
 
30
- #stream do |out|
31
- # io = nil
32
- # Misc.in_dir path.find do
33
- # io = CMD.cmd("tar cfvz - '.'", :pipe => true)
34
- # end
35
- # while not io.closed? and block = io.read(4096)
36
- # out << block
37
- # end
38
- # io.close
39
- # out.flush
40
- #end
41
-
42
- TmpFile.with_file :extension => 'tar.gz' do |file|
43
- Misc.in_dir path.find do
44
- CMD.cmd("tar cfvz '#{file}' .")
33
+ headers['Content-Encoding'] = 'gzip'
34
+ chunk_size = 1024
35
+ stream do |out|
36
+ tar = Misc.tarize(path.find)
37
+
38
+ out.errback do
39
+ Log.error{"Error streaming #{ path }"}
40
+ begin tar.close unless tar.closed?; rescue; end
41
+ out.close unless out.closed?
42
+ end
43
+
44
+ begin
45
+ while chunk = tar.read(1024)
46
+ out << chunk
47
+ end
48
+ ensure
49
+ Log.debug("Finished streaming #{path}. Closing")
50
+ begin tar.close unless tar.closed?; rescue; end
51
+ out.close unless out.closed?
45
52
  end
46
- headers['Content-Encoding'] = 'gzip'
47
- send_file file, :filename => directory.gsub('/','_') + '.tar.gz', :type => "application/x-gzip"
53
+
54
+ out
48
55
  end
49
56
  end
50
57
 
@@ -72,6 +72,7 @@ $.widget("rbbt.modal", {
72
72
 
73
73
  replace_object(modal.find('.content'), url, true, function(){
74
74
  var url = tool._shown_url()
75
+ var url = remove_parameter(url, '_')
75
76
 
76
77
  modal.addClass('url')
77
78
  modal.find('.link-reveal-modal').attr('href', url)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.23
4
+ version: 1.2.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez