Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^4: [SOAP::Lite] Obtain request body before request is sent?

by three18ti (Monk)
on Jan 29, 2015 at 03:19 UTC ( [id://1114859]=note: print w/replies, xml ) Need Help??


in reply to Re^3: [SOAP::Lite] Obtain request body before request is sent?
in thread [SOLVED][SOAP::Lite] Obtain request body before request is sent?

Ok, circling back around to this.

How do I modify the HTTP header before SOAP::Lite dispatches the request?

Frankly, I have no idea how to use XML::Compile, my grasp on SOAP::Lite is tenuous at best, so my attempts to replicate my working script with XML::Compile have been complete fail.

You said that you linked to an example where you were modifying the HTTP headers, but all I see is a hook that... calls the pp_twig sub. I'm not sure what it's doing, but as far as I can tell, it has nothing to do with the HTTP request headers. I'm pretty sure SOAP::Transport will be involved?

thanks for the guidance

EDIT: I think I need to be looking at LWP::UserAgent, not SOAP::Transport

  • Comment on Re^4: [SOAP::Lite] Obtain request body before request is sent?

Replies are listed 'Best First'.
Re^5: [SOAP::Lite] Obtain request body before request is sent?
by Anonymous Monk on Jan 29, 2015 at 03:35 UTC
    Hmm, lets see,
    $ perldoc LWP::UserAgent |grep -i hook $

    Ooops, the example didn't use hook, it used handler

    $ perldoc LWP::UserAgent |grep -i handler Handlers Handlers are code that injected at various phases during the proce +ssing handlers: $ua->add_handler( $phase => \&cb, %matchspec )

      So maybe we're talking about something different?

      $ua->default_header( $field => $value ) This is just a short-cut for $ua->default_headers->header( $field +=> $value ). Example: $ua->default_header('Accept-Encoding' => scalar HTTP::Message::d +ecodable()); $ua->default_header('Accept-Language' => "no, en");

      So couldn't I do something like:

      $client->transport->default_header( 'my_special_header' => 'sha1hash') +;

      EDIT: hmm... this in the LWP doc confuses me,

      request_preprepare => sub { my($request, $ua, $h) = @_; ... } The handler is called before the request_prepare and other standar +d initialization of the request. This can be used to set up headers a +nd attributes that the request_prepare handler depends on. Proxy init +ialization should take place here; but in general don't register hand +lers for this phase.

      Is it saying in the request_prepare is where I should set my headers, or is this merely an option? I can't tell if $client->transport->default_headers() is working. haha. Was working on exporting a pcap (I develop on a vm but have wireshark locally)

      Thanks for all the guidance. I can't tell if my frustration is coming through in my posts (which usually means it is) but it certainly isn't directed at you Anonymous Monk. I really do appreciate your helping me through all this.

      EDIT: Hahaha!!!! IT does work, it helps to spell the name of the key right!

      $client->transport->default_header( 'properly-speleeed-key' => $value +);

      Does exactly what I want!!!

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1114859]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2024-04-20 02:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found