Class: CPEE::DStore::DoGet

Inherits:
Riddl::Implementation
  • Object
show all
Defined in:
lib/cpee-dstore/implementation.rb

Overview

{{{

Instance Method Summary collapse

Instance Method Details

#responseObject



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/cpee-dstore/implementation.rb', line 49

def response
  file = File.join(@a[0],@r[-2],@r[-1])
  meta = file + '.mimetype'
  if File.exist?(file) && File.exist?(meta)
    f = File.open(file,'rb')
    if @p.length > 0 && @p[0].name == 'tail'
      Riddl::Parameter::Complex.new('file',File.read(meta).strip,f.tail(@p[0].value.to_i))
    else
      Riddl::Parameter::Complex.new('file',File.read(meta).strip,f)
    end
  else
    @status = 404
    nil
  end
end