Class: Netfira::WebConnect::RackApp

Inherits:
Object
  • Object
show all
Includes:
Exceptions::HttpExceptions
Defined in:
lib/netfira/web_connect/rack_app.rb,
lib/netfira/web_connect/rack_app.rb,
lib/netfira/web_connect/rack_app/actions/version_8/web.rb,
lib/netfira/web_connect/rack_app/actions/version_1/info.rb,
lib/netfira/web_connect/rack_app/actions/version_8/files.rb,
lib/netfira/web_connect/rack_app/actions/version_8/commit.rb,
lib/netfira/web_connect/rack_app/actions/version_8/records.rb,
lib/netfira/web_connect/rack_app/actions/version_8/settings.rb,
lib/netfira/web_connect/rack_app/actions/version_8/checksums.rb,
lib/netfira/web_connect/rack_app/actions/version_1/not_supported.rb,
lib/netfira/web_connect/rack_app/actions/version_8/commit/relations.rb

Defined Under Namespace

Modules: Exceptions Classes: Action

Instance Method Summary collapse

Instance Method Details

#call(env) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/netfira/web_connect/rack_app.rb', line 7

def call(env)
  begin
    body, headers = handle_request(env)
    if headers['Content-Type']
      [200, headers, [body]]
    else
      make_response 200, body, headers
    end
  rescue Exceptions::SendFile => e
    [
        200,
        {
            'Content-Type' => MIME::Types.type_for(e.path.to_s.sub(/\.erb$/, '')).first.content_type,
            'Content-Length' => e.content.length.to_s
        },
        [e.content]
    ]
  rescue Exceptions::HttpException => e
    make_response e.code, e.body, e.headers, e.code
  end
end

#latest_api_versionObject



29
30
31
# File 'lib/netfira/web_connect/rack_app.rb', line 29

def latest_api_version
  Action.latest_version
end