Class: Net::HTTPGenericRequest

Inherits:
Object
  • Object
show all
Includes:
HTTPHeader
Defined in:
lib/rubysl/net/http/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)


1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
# File 'lib/rubysl/net/http/http.rb', line 1479

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.



1511
1512
1513
# File 'lib/rubysl/net/http/http.rb', line 1511

def body
  @body
end

#body_streamObject

Returns the value of attribute body_stream.



1519
1520
1521
# File 'lib/rubysl/net/http/http.rb', line 1519

def body_stream
  @body_stream
end

#methodObject (readonly)

Returns the value of attribute method.



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

def method
  @method
end

#pathObject (readonly)

Returns the value of attribute path.



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

def path
  @path
end

Instance Method Details

#body_exist?Boolean

Returns:

  • (Boolean)


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

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



1536
1537
1538
1539
1540
1541
1542
1543
1544
# File 'lib/rubysl/net/http/http.rb', line 1536

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



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

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

#request_body_permitted?Boolean

Returns:

  • (Boolean)


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

def request_body_permitted?
  @request_has_body
end

#response_body_permitted?Boolean

Returns:

  • (Boolean)


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

def response_body_permitted?
  @response_has_body
end

#set_body_internal(str) ⇒ Object

:nodoc: internal use only

Raises:

  • (ArgumentError)


1527
1528
1529
1530
# File 'lib/rubysl/net/http/http.rb', line 1527

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