Class: GitObjectBrowser::Server::GitServlet

Inherits:
WEBrick::HTTPServlet::AbstractServlet
  • Object
show all
Defined in:
lib/git-object-browser/server/git_servlet.rb

Constant Summary collapse

SEARCH_PACKED_OBJECT =
true

Instance Method Summary collapse

Constructor Details

#initialize(server, target) ⇒ GitServlet

Returns a new instance of GitServlet.



9
10
11
# File 'lib/git-object-browser/server/git_servlet.rb', line 9

def initialize(server, target)
  @target = File.expand_path(target)
end

Instance Method Details

#do_GET(request, response) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/git-object-browser/server/git_servlet.rb', line 13

def do_GET(request, response)
  @params = parse_params(request, response)
  unless @params
    not_found(response)
    return
  end

  unless File.exist?(@params[:abspath])
    not_found unless redirect_to_packed_object
    return
  end

  [:response_directory,
   :response_index,
   :response_object,
   :response_ref,
   :response_reflog,
   :response_packed_object,
   :response_pack_file,
   :response_pack_index,
   :response_info_refs,
   :response_packed_refs,
   :response_file
  ].each { |action| return if send(action) }
end