Sha256: 2ed2029c063af29ea7a6e0eb1acdc2e9325ba61e3a8aabfe5925c174da3da8bf

Contents?: true

Size: 1.56 KB

Versions: 17

Compression:

Stored size: 1.56 KB

Contents

module OverSIP::WebSocket

  class HttpRequest < ::Hash

    include ::OverSIP::Logger

    # HTTP related attributes.
    attr_accessor :transport
    attr_accessor :source_ip
    attr_accessor :source_ip_type
    attr_accessor :source_port
    attr_accessor :connection

    # HTTP request attributes.
    attr_reader :http_method
    attr_reader :http_version
    attr_reader :uri_scheme
    attr_reader :uri
    attr_reader :uri_path
    attr_reader :uri_query
    attr_reader :uri_fragment
    attr_reader :host
    attr_reader :port
    attr_reader :content_length
    attr_reader :hdr_connection
    attr_reader :hdr_upgrade
    attr_reader :hdr_origin
    attr_reader :hdr_sec_websocket_version
    attr_reader :hdr_sec_websocket_key
    attr_reader :hdr_sec_websocket_protocol


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

    def unknown_method?  ;  @is_unknown_method  end


    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

  end  # class HttpRequest

end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
oversip-1.1.0.beta5 lib/oversip/websocket/http_request.rb
oversip-1.1.0.beta4 lib/oversip/websocket/http_request.rb
oversip-1.1.0.beta3 lib/oversip/websocket/http_request.rb
oversip-1.1.0.beta2 lib/oversip/websocket/http_request.rb
oversip-1.1.0.beta1 lib/oversip/websocket/http_request.rb
oversip-1.0.7.beta1 lib/oversip/websocket/http_request.rb
oversip-1.0.6.beta3 lib/oversip/websocket/http_request.rb
oversip-1.0.6.beta2 lib/oversip/websocket/http_request.rb
oversip-1.0.6.beta1 lib/oversip/websocket/http_request.rb
oversip-1.0.5 lib/oversip/websocket/http_request.rb
oversip-1.0.4 lib/oversip/websocket/http_request.rb
oversip-1.0.3 lib/oversip/websocket/http_request.rb
oversip-1.0.2 lib/oversip/websocket/http_request.rb
oversip-1.0.1 lib/oversip/websocket/http_request.rb
oversip-1.0.0 lib/oversip/websocket/http_request.rb
oversip-0.9.1 lib/oversip/websocket/http_request.rb
oversip-0.9.0 lib/oversip/websocket/http_request.rb