Class: Net::HTTPGenericRequest

Inherits:
Object
  • Object
show all
Includes:
HTTPHeader
Defined in:
lib/net/http.rb

Overview

Parent of HTTPRequest class. Do not use this directly; use a subclass of HTTPRequest.

Mixes in the HTTPHeader module.

Direct Known Subclasses

HTTPRequest

Constant Summary collapse

BUFSIZE =
16*1024

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from HTTPHeader

#[], #[]=, #add_field, #basic_auth, #chunked?, #content_length, #content_length=, #content_range, #content_type, #delete, #each_capitalized, #each_capitalized_name, #each_header, #each_name, #each_value, #fetch, #get_fields, #initialize_http_header, #key?, #main_type, #proxy_basic_auth, #range, #range_length, #set_content_type, #set_form_data, #set_range, #size, #sub_type, #to_hash, #type_params

Constructor Details

#initialize(m, reqbody, resbody, path, initheader = nil) ⇒ HTTPGenericRequest

Returns a new instance of HTTPGenericRequest.

Raises:

  • (ArgumentError)


1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
# File 'lib/net/http.rb', line 1474

def initialize(m, reqbody, resbody, path, initheader = nil)
  @method = m
  @request_has_body = reqbody
  @response_has_body = resbody
  raise ArgumentError, "HTTP request path is empty" if path.empty?
  @path = path
  initialize_http_header initheader
  self['Accept'] ||= '*/*'
  @body = nil
  @body_stream = nil
end

Instance Attribute Details

#bodyObject

Returns the value of attribute body



1506
1507
1508
# File 'lib/net/http.rb', line 1506

def body
  @body
end

#body_streamObject

Returns the value of attribute body_stream



1514
1515
1516
# File 'lib/net/http.rb', line 1514

def body_stream
  @body_stream
end

#methodObject (readonly)

Returns the value of attribute method



1486
1487
1488
# File 'lib/net/http.rb', line 1486

def method
  @method
end

#pathObject (readonly)

Returns the value of attribute path



1487
1488
1489
# File 'lib/net/http.rb', line 1487

def path
  @path
end

Instance Method Details

#body_exist?Boolean

Returns:

  • (Boolean)


1501
1502
1503
1504
# File 'lib/net/http.rb', line 1501

def body_exist?
  warn "Net::HTTPRequest#body_exist? is obsolete; use response_body_permitted?" if $VERBOSE
  response_body_permitted?
end

#exec(sock, ver, path) ⇒ Object

write



1531
1532
1533
1534
1535
1536
1537
1538
1539
# File 'lib/net/http.rb', line 1531

def exec(sock, ver, path)   #:nodoc: internal use only
  if @body
    send_request_with_body sock, ver, path, @body
  elsif @body_stream
    send_request_with_body_stream sock, ver, path, @body_stream
  else
    write_header sock, ver, path
  end
end

#inspectObject



1489
1490
1491
# File 'lib/net/http.rb', line 1489

def inspect
  "\#<#{self.class} #{@method}>"
end

#request_body_permitted?Boolean

Returns:

  • (Boolean)


1493
1494
1495
# File 'lib/net/http.rb', line 1493

def request_body_permitted?
  @request_has_body
end

#response_body_permitted?Boolean

Returns:

  • (Boolean)


1497
1498
1499
# File 'lib/net/http.rb', line 1497

def response_body_permitted?
  @response_has_body
end

#set_body_internal(str) ⇒ Object

:nodoc: internal use only

Raises:

  • (ArgumentError)


1522
1523
1524
1525
# File 'lib/net/http.rb', line 1522

def set_body_internal(str)   #:nodoc: internal use only
  raise ArgumentError, "both of body argument and HTTPRequest#body set" if str and (@body or @body_stream)
  self.body = str if str
end