@@ -591,6 +591,13 @@ def unlock(path, options = {}, &block)
591
591
perform_request Net ::HTTP ::Unlock , path , options , &block
592
592
end
593
593
594
+ def build_request ( http_method , path , options = { } )
595
+ options = ModuleInheritableAttributes . hash_deep_dup ( default_options ) . merge ( options )
596
+ HeadersProcessor . new ( headers , options ) . call
597
+ process_cookies ( options )
598
+ Request . new ( http_method , path , options )
599
+ end
600
+
594
601
attr_reader :default_options
595
602
596
603
private
@@ -606,10 +613,7 @@ def ensure_method_maintained_across_redirects(options)
606
613
end
607
614
608
615
def perform_request ( http_method , path , options , &block ) #:nodoc:
609
- options = ModuleInheritableAttributes . hash_deep_dup ( default_options ) . merge ( options )
610
- HeadersProcessor . new ( headers , options ) . call
611
- process_cookies ( options )
612
- Request . new ( http_method , path , options ) . perform ( &block )
616
+ build_request ( http_method , path , options ) . perform ( &block )
613
617
end
614
618
615
619
def process_cookies ( options ) #:nodoc:
@@ -676,6 +680,10 @@ def self.head(*args, &block)
676
680
def self . options ( *args , &block )
677
681
Basement . options ( *args , &block )
678
682
end
683
+
684
+ def self . build_request ( *args , &block )
685
+ Basement . build_request ( *args , &block )
686
+ end
679
687
end
680
688
681
689
require 'httparty/hash_conversions'
0 commit comments