Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re: LWP Cookies

by repson (Chaplain)
on Feb 11, 2001 at 14:13 UTC ( #57729=note: print w/replies, xml ) Need Help??

in reply to LWP Cookies

If you look at the HTTP::Cookies source code, then you can see that the $cookie_jar->load() method does no sanity checking on its filename argument. Instead it passes it unchanged to open. We can use this as a feature.
my $cookies = new HTTP::Cookies; $cookies->set_cookie(0,'foo','foog','/','','80',0,0,1000,1,{} +); $cookies->set_cookie(0,'moo','1025','/','','80',0,0,1000,1,{} +); my $text = $cookies->as_string; # do anything to $text, and come back later pipe Read, Write; print Write "#LWP-Cookies-1.0\n" . $text; close Write; my $cook = new HTTP::Cookies; $cook->load( '<& ' . fileno(*Read) ); # $cook is now the same as $cookies above and we can use it as if it w +as print $cook->as_string;
What I did here was use a standard funtion that creates two connected filehandles. Then sent the data to the part called Write, then closed it to flush it and signal EOF. Then in a new HTTP::Cookies object we load the data by telling it to open its filehandle to the same file descriptor as the other end of our connected handles.

On the whole this solution seems to do the job requested without requiring disk I/O, but using simple disk I/O may be a clearer method and seems to be necessary under Win98 for $cookie->as_string data over 512 characters long.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://57729]
and the sunlight beams...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (6)
As of 2018-06-25 06:34 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (126 votes). Check out past polls.