Class: Baykit::BayServer::Docker::Ajp::Command::CmdForwardRequest
- Inherits:
-
AjpCommand
- Object
- Protocol::Command
- AjpCommand
- Baykit::BayServer::Docker::Ajp::Command::CmdForwardRequest
- Includes:
- Protocol, Util
- Defined in:
- lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb
Class Attribute Summary collapse
-
.attribute_name_map ⇒ Object
readonly
Returns the value of attribute attribute_name_map.
-
.method_map ⇒ Object
readonly
Returns the value of attribute method_map.
-
.well_known_header_map ⇒ Object
readonly
Returns the value of attribute well_known_header_map.
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
-
#headers ⇒ Object
Returns the value of attribute headers.
-
#is_ssl ⇒ Object
Returns the value of attribute is_ssl.
-
#method ⇒ Object
Returns the value of attribute method.
-
#protocol ⇒ Object
Returns the value of attribute protocol.
-
#remote_addr ⇒ Object
Returns the value of attribute remote_addr.
-
#remote_host ⇒ Object
Returns the value of attribute remote_host.
-
#req_uri ⇒ Object
Returns the value of attribute req_uri.
-
#server_name ⇒ Object
Returns the value of attribute server_name.
-
#server_port ⇒ Object
Returns the value of attribute server_port.
Attributes inherited from AjpCommand
Class Method Summary collapse
- .get_attribute_code(atr) ⇒ Object
- .get_method_code(method) ⇒ Object
- .get_well_known_header_code(name) ⇒ Object
Instance Method Summary collapse
- #handle(handler) ⇒ Object
-
#initialize ⇒ CmdForwardRequest
constructor
A new instance of CmdForwardRequest.
- #pack(pkt) ⇒ Object
- #to_s ⇒ Object
- #unpack(pkt) ⇒ Object
Methods inherited from AjpCommand
Constructor Details
#initialize ⇒ CmdForwardRequest
Returns a new instance of CmdForwardRequest.
143 144 145 146 147 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 143 def initialize super(AjpType::FORWARD_REQUEST, true) @headers = Headers.new() @attributes = {} end |
Class Attribute Details
.attribute_name_map ⇒ Object (readonly)
Returns the value of attribute attribute_name_map.
37 38 39 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 37 def attribute_name_map @attribute_name_map end |
.method_map ⇒ Object (readonly)
Returns the value of attribute method_map.
35 36 37 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 35 def method_map @method_map end |
.well_known_header_map ⇒ Object (readonly)
Returns the value of attribute well_known_header_map.
36 37 38 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 36 def well_known_header_map @well_known_header_map end |
Instance Attribute Details
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
141 142 143 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 141 def attributes @attributes end |
#headers ⇒ Object
Returns the value of attribute headers.
140 141 142 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 140 def headers @headers end |
#is_ssl ⇒ Object
Returns the value of attribute is_ssl.
139 140 141 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 139 def is_ssl @is_ssl end |
#method ⇒ Object
Returns the value of attribute method.
132 133 134 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 132 def method @method end |
#protocol ⇒ Object
Returns the value of attribute protocol.
133 134 135 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 133 def protocol @protocol end |
#remote_addr ⇒ Object
Returns the value of attribute remote_addr.
135 136 137 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 135 def remote_addr @remote_addr end |
#remote_host ⇒ Object
Returns the value of attribute remote_host.
136 137 138 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 136 def remote_host @remote_host end |
#req_uri ⇒ Object
Returns the value of attribute req_uri.
134 135 136 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 134 def req_uri @req_uri end |
#server_name ⇒ Object
Returns the value of attribute server_name.
137 138 139 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 137 def server_name @server_name end |
#server_port ⇒ Object
Returns the value of attribute server_port.
138 139 140 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 138 def server_port @server_port end |
Class Method Details
.get_attribute_code(atr) ⇒ Object
123 124 125 126 127 128 129 130 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 123 def self.get_attribute_code(atr) @attribute_name_map.keys.each do |key| if @attribute_name_map[key].casecmp?(atr) return key end end return -1 end |
.get_method_code(method) ⇒ Object
70 71 72 73 74 75 76 77 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 70 def self.get_method_code(method) @method_map.keys.each do |key| if @method_map[key].casecmp? method return key end end return -1 end |
.get_well_known_header_code(name) ⇒ Object
97 98 99 100 101 102 103 104 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 97 def self.get_well_known_header_code(name) @well_known_header_map.keys.each do |key| if @well_known_header_map[key].casecmp? name return key end end return -1 end |
Instance Method Details
#handle(handler) ⇒ Object
189 190 191 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 189 def handle(handler) return handler.handle_forward_request(self) end |
#pack(pkt) ⇒ Object
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 153 def pack(pkt) #BayLog.info("%s", self) acc = pkt.new_ajp_data_accessor() acc.put_byte(@type) # prefix code acc.put_byte(CmdForwardRequest.get_method_code(@method)) acc.put_string(@protocol) acc.put_string(@req_uri) acc.put_string(@remote_addr) acc.put_string(@remote_host) acc.put_string(@server_name) acc.put_short(@server_port) acc.put_byte(@is_ssl ? 1 : 0) write_request_headers(acc) write_attributes(acc) # must be called from last line super end |
#to_s ⇒ Object
149 150 151 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 149 def to_s() return "ForwardRequest(m=#{self.method} p=#{self.protocol} u=#{self.req_uri} ra=#{self.remote_addr} rh=#{self.remote_host} sn=#{self.server_name} sp=#{self.server_port} ss=#{self.is_ssl} h=#{self.headers}" end |
#unpack(pkt) ⇒ Object
172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 |
# File 'lib/baykit/bayserver/docker/ajp/command/cmd_forward_request.rb', line 172 def unpack(pkt) super acc = pkt.new_ajp_data_accessor() acc.get_byte() # prefix code @method = CmdForwardRequest.method_map[acc.get_byte] @protocol = acc.get_string @req_uri = acc.get_string @remote_addr = acc.get_string @remote_host = acc.get_string @server_name = acc.get_string @server_port = acc.get_short @is_ssl = acc.get_byte == 1 read_request_headers(acc) read_attributes(acc) end |