Class: Baykit::BayServer::Docker::Fcgi::Command::CmdEndRequest

Inherits:
FcgCommand
  • Object
show all
Defined in:
lib/baykit/bayserver/docker/fcgi/command/cmd_end_request.rb

Constant Summary collapse

FCGI_REQUEST_COMPLETE =
0
FCGI_CANT_MPX_CONN =
1
FCGI_OVERLOADED =
2
FCGI_UNKNOWN_ROLE =
3

Instance Attribute Summary collapse

Attributes inherited from FcgCommand

#req_id

Instance Method Summary collapse

Methods inherited from FcgCommand

#pack_header

Constructor Details

#initialize(req_id) ⇒ CmdEndRequest

Returns a new instance of CmdEndRequest.



33
34
35
36
37
# File 'lib/baykit/bayserver/docker/fcgi/command/cmd_end_request.rb', line 33

def initialize(req_id)
  super(FcgType::END_REQUEST, req_id)
  @app_status = 0
  @protocol_status = FCGI_REQUEST_COMPLETE
end

Instance Attribute Details

#app_statusObject (readonly)

Returns the value of attribute app_status.



30
31
32
# File 'lib/baykit/bayserver/docker/fcgi/command/cmd_end_request.rb', line 30

def app_status
  @app_status
end

#protocol_statusObject (readonly)

Returns the value of attribute protocol_status.



31
32
33
# File 'lib/baykit/bayserver/docker/fcgi/command/cmd_end_request.rb', line 31

def protocol_status
  @protocol_status
end

Instance Method Details

#handle(cmd_handler) ⇒ Object



57
58
59
# File 'lib/baykit/bayserver/docker/fcgi/command/cmd_end_request.rb', line 57

def handle(cmd_handler)
  return cmd_handler.handle_end_request(self)
end

#pack(pkt) ⇒ Object



46
47
48
49
50
51
52
53
54
55
# File 'lib/baykit/bayserver/docker/fcgi/command/cmd_end_request.rb', line 46

def pack(pkt)
  acc = pkt.new_data_accessor
  acc.put_int(@app_status)
  acc.put_byte(@protocol_status)
  reserved = " " * 3
  acc.put_bytes(reserved)

  # must be called from last line
  super
end

#unpack(pkt) ⇒ Object



39
40
41
42
43
44
# File 'lib/baykit/bayserver/docker/fcgi/command/cmd_end_request.rb', line 39

def unpack(pkt)
  super
  acc = pkt.new_data_accessor
  @app_status = acc.get_int
  @protocol_status = acc.get_byte
end