Changeset 17534 for trunk/DataStore
- Timestamp:
- May 5, 2008, 4:35:36 PM (18 years ago)
- Location:
- trunk/DataStore
- Files:
-
- 3 edited
-
Changes (modified) (1 diff)
-
lib/DataStore/File.pm (modified) (4 diffs)
-
scripts/dsget (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/DataStore/Changes
r17528 r17534 2 2 3 3 0.07 4 - Change DateStore::File to handle passing args to LWP::UserAgent 4 5 - add dsget --timeout option 5 6 - change dsget to return the HTTP status code on failure -
trunk/DataStore/lib/DataStore/File.pm
r16411 r17534 1 1 # Copyright (C) 2006 Joshua Hoblitt 2 2 # 3 # $Id: File.pm,v 1.1 6 2008-02-12 23:59:38 billsExp $3 # $Id: File.pm,v 1.17 2008-05-06 02:35:22 jhoblitt Exp $ 4 4 5 5 package DataStore::File; … … 223 223 regex => qr/\S+/, # string with at least 1 non WS char 224 224 }, 225 ua_args => { 226 optional => 1, 227 }, 225 228 }, 226 229 ); 227 230 228 231 # make request 229 my $ua = LWP::UserAgent->new; 232 my $ua; 233 if (defined $p{ua_args}) { 234 $ua = LWP::UserAgent->new(%{$p{ua_args}}); 235 } else { 236 $ua = LWP::UserAgent->new; 237 } 230 238 my $request = HTTP::Request->new(GET => $self->uri); 231 239 my $filename = $p{filename}; 232 240 my $response = $ua->request($request, $filename); 233 241 234 IS_SUCCESS:if ($response->is_success) {242 if ($response->is_success) { 235 243 # check size 236 244 if (defined $self->bytes) { … … 243 251 # set the filename to undef to indicate an error 244 252 $filename = undef; 245 last IS_SUCCESS;246 253 } 247 254 } 248 255 249 if (defined $ self->md5sum) {256 if (defined $filename and defined $self->md5sum) { 250 257 my $md5 = file_md5_hex($filename); 251 258 if (! ($self->md5sum eq $md5)) { … … 256 263 # set the filename to undef to indicate an error 257 264 $filename = undef; 258 last IS_SUCCESS;259 265 } 260 266 } -
trunk/DataStore/scripts/dsget
r17528 r17534 3 3 # Copyright (C) 2006-2008 Joshua Hoblitt 4 4 # 5 # $Id: dsget,v 1. 19 2008-05-05 20:45:53jhoblitt Exp $5 # $Id: dsget,v 1.20 2008-05-06 02:35:22 jhoblitt Exp $ 6 6 7 7 use strict; … … 67 67 68 68 # default http request timeout is 30s 69 $timeout ||= 30; 70 69 71 my %p = ( 70 72 uri => $uri, 71 73 type => 'chip', 72 timeout => $timeout ||= 30,73 74 ); 74 75 … … 123 124 124 125 # request the file from the remote data store server (save in tmpfilename) 125 my $response = DataStore::File->new(%p)->request( filename => $tmpfilename ); 126 my $response = DataStore::File->new(%p)->request( 127 filename => $tmpfilename, 128 ua_args => { timeout => $timeout}, 129 ); 126 130 127 131 die "request failed" unless defined $response;
Note:
See TracChangeset
for help on using the changeset viewer.
