Method: OpenC3::HttpClientInterface#convert_data_to_packet
- Defined in:
- lib/openc3/interfaces/http_client_interface.rb
#convert_data_to_packet(data, extra = nil) ⇒ Packet
Called to convert the read data into a OpenC3 Packet object
205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 |
# File 'lib/openc3/interfaces/http_client_interface.rb', line 205 def convert_data_to_packet(data, extra = nil) packet = Packet.new(nil, nil, :BIG_ENDIAN, nil, data.to_s) packet.accessor = HttpAccessor.new(packet) # Grab the request extra set in the write_interface method request_extra = extra['HTTP_REQUEST'][1] if extra and extra['HTTP_REQUEST'] if request_extra # Identify the response target request_target_name = request_extra['HTTP_REQUEST_TARGET_NAME'] if request_target_name request_target_name = request_target_name.to_s.upcase response_packet_name = request_extra['HTTP_PACKET'] error_packet_name = request_extra['HTTP_ERROR_PACKET'] # HTTP_STATUS was set in the base extra status = extra['HTTP_STATUS'].to_i if status >= 300 and error_packet_name # Handle error special case response packet packet.target_name = request_target_name packet.packet_name = error_packet_name.to_s.upcase else if response_packet_name packet.target_name = request_target_name packet.packet_name = response_packet_name.to_s.upcase end end end unless @include_request_in_response extra.delete("HTTP_REQUEST") end end packet.extra = extra return packet end |