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)


1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
# File 'lib/net/http.rb', line 1468

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



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

def body
  @body
end

#body_streamObject

Returns the value of attribute body_stream



1508
1509
1510
# File 'lib/net/http.rb', line 1508

def body_stream
  @body_stream
end

#methodObject (readonly)

Returns the value of attribute method



1480
1481
1482
# File 'lib/net/http.rb', line 1480

def method
  @method
end

#pathObject (readonly)

Returns the value of attribute path



1481
1482
1483
# File 'lib/net/http.rb', line 1481

def path
  @path
end

Instance Method Details

#body_exist?Boolean

Returns:

  • (Boolean)


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

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



1525
1526
1527
1528
1529
1530
1531
1532
1533
# File 'lib/net/http.rb', line 1525

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



1483
1484
1485
# File 'lib/net/http.rb', line 1483

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

#request_body_permitted?Boolean

Returns:

  • (Boolean)


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

def request_body_permitted?
  @request_has_body
end

#response_body_permitted?Boolean

Returns:

  • (Boolean)


1491
1492
1493
# File 'lib/net/http.rb', line 1491

def response_body_permitted?
  @response_has_body
end

#set_body_internal(str) ⇒ Object

:nodoc: internal use only

Raises:

  • (ArgumentError)


1516
1517
1518
1519
# File 'lib/net/http.rb', line 1516

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