Class: OverSIP::WebSocket::HttpRequest

Inherits:
Hash
  • Object
show all
Includes:
Logger
Defined in:
lib/oversip/websocket/http_request.rb

Constant Summary

Constants included from Logger

Logger::SYSLOG_POSIXMQ_MAPPING

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Logger

close, #fatal, fg_system_msg2str, init_logger_mq, load_methods, syslog_system_msg2str, syslog_user_msg2str

Instance Attribute Details

#connectionObject

Returns the value of attribute connection.



12
13
14
# File 'lib/oversip/websocket/http_request.rb', line 12

def connection
  @connection
end

#content_lengthObject (readonly)

Returns the value of attribute content_length.



24
25
26
# File 'lib/oversip/websocket/http_request.rb', line 24

def content_length
  @content_length
end

#hdr_connectionObject (readonly)

Returns the value of attribute hdr_connection.



25
26
27
# File 'lib/oversip/websocket/http_request.rb', line 25

def hdr_connection
  @hdr_connection
end

#hdr_originObject (readonly)

Returns the value of attribute hdr_origin.



27
28
29
# File 'lib/oversip/websocket/http_request.rb', line 27

def hdr_origin
  @hdr_origin
end

#hdr_sec_websocket_keyObject (readonly)

Returns the value of attribute hdr_sec_websocket_key.



29
30
31
# File 'lib/oversip/websocket/http_request.rb', line 29

def hdr_sec_websocket_key
  @hdr_sec_websocket_key
end

#hdr_sec_websocket_protocolObject (readonly)

Returns the value of attribute hdr_sec_websocket_protocol.



30
31
32
# File 'lib/oversip/websocket/http_request.rb', line 30

def hdr_sec_websocket_protocol
  @hdr_sec_websocket_protocol
end

#hdr_sec_websocket_versionObject (readonly)

Returns the value of attribute hdr_sec_websocket_version.



28
29
30
# File 'lib/oversip/websocket/http_request.rb', line 28

def hdr_sec_websocket_version
  @hdr_sec_websocket_version
end

#hdr_upgradeObject (readonly)

Returns the value of attribute hdr_upgrade.



26
27
28
# File 'lib/oversip/websocket/http_request.rb', line 26

def hdr_upgrade
  @hdr_upgrade
end

#hostObject (readonly)

Returns the value of attribute host.



22
23
24
# File 'lib/oversip/websocket/http_request.rb', line 22

def host
  @host
end

#http_methodObject (readonly)

HTTP request attributes.



15
16
17
# File 'lib/oversip/websocket/http_request.rb', line 15

def http_method
  @http_method
end

#http_versionObject (readonly)

Returns the value of attribute http_version.



16
17
18
# File 'lib/oversip/websocket/http_request.rb', line 16

def http_version
  @http_version
end

#portObject (readonly)

Returns the value of attribute port.



23
24
25
# File 'lib/oversip/websocket/http_request.rb', line 23

def port
  @port
end

#source_ipObject

Returns the value of attribute source_ip.



9
10
11
# File 'lib/oversip/websocket/http_request.rb', line 9

def source_ip
  @source_ip
end

#source_ip_typeObject

Returns the value of attribute source_ip_type.



10
11
12
# File 'lib/oversip/websocket/http_request.rb', line 10

def source_ip_type
  @source_ip_type
end

#source_portObject

Returns the value of attribute source_port.



11
12
13
# File 'lib/oversip/websocket/http_request.rb', line 11

def source_port
  @source_port
end

#transportObject

HTTP related attributes.



8
9
10
# File 'lib/oversip/websocket/http_request.rb', line 8

def transport
  @transport
end

#uriObject (readonly)

Returns the value of attribute uri.



18
19
20
# File 'lib/oversip/websocket/http_request.rb', line 18

def uri
  @uri
end

#uri_fragmentObject (readonly)

Returns the value of attribute uri_fragment.



21
22
23
# File 'lib/oversip/websocket/http_request.rb', line 21

def uri_fragment
  @uri_fragment
end

#uri_pathObject (readonly)

Returns the value of attribute uri_path.



19
20
21
# File 'lib/oversip/websocket/http_request.rb', line 19

def uri_path
  @uri_path
end

#uri_queryObject (readonly)

Returns the value of attribute uri_query.



20
21
22
# File 'lib/oversip/websocket/http_request.rb', line 20

def uri_query
  @uri_query
end

#uri_schemeObject (readonly)

Returns the value of attribute uri_scheme.



17
18
19
# File 'lib/oversip/websocket/http_request.rb', line 17

def uri_scheme
  @uri_scheme
end

Instance Method Details

#log_idObject



33
34
35
# File 'lib/oversip/websocket/http_request.rb', line 33

def log_id
  @log_id ||= "HTTP Request #{@connection.connection_log_id}"
end

#reply(status_code, reason_phrase = nil, extra_headers = {}) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/oversip/websocket/http_request.rb', line 40

def reply status_code, reason_phrase=nil, extra_headers={}
  reason_phrase ||= REASON_PHARSE[status_code] || REASON_PHARSE_NOT_SET
  extra_headers ||= {}

  response = "#{@http_version} #{status_code} #{reason_phrase}\r\n"

  extra_headers.each {|header| response << header << "\r\n"}

  response << HDR_SERVER << "\r\n\r\n"

  log_system_debug "replying #{status_code} \"#{reason_phrase}\""  if $oversip_debug

  if @connection.error?
    log_system_warn "cannot send response, TCP connection is closed"
    return false
  end

  @connection.send_data response
  return true
end

#unknown_method?Boolean

Returns:

  • (Boolean)


37
# File 'lib/oversip/websocket/http_request.rb', line 37

def unknown_method?  ;  @is_unknown_method  end