Changeset 56
- Timestamp:
- 02/18/06 11:00:06 (3 years ago)
- Files:
-
- atom_client/trunk/lib/AtomClient.pm (modified) (1 diff)
- atom_client/trunk/lib/My/XML/Atom/Client.pm (modified) (1 diff)
- atom_client/trunk/root/default.tt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
atom_client/trunk/lib/AtomClient.pm
r55 r56 18 18 my ( $self, $c ) = @_; 19 19 20 my %method_map = ( 21 GET => 'getFeed', 22 POST => 'createEntry', 23 PUT => 'updateEntry', 24 DELETE => 'deleteEntry', 25 ); 26 27 my $method = $method_map{$c->req->param('request_method')}; 20 my $method = $c->req->param('request_method'); 28 21 29 22 my $api = My::XML::Atom::Client->new; 30 $api->username($c->req->param('username'));31 $api->password($c->req->param('password'));32 23 33 my $entry = XML::Atom::Feed->new(\$c->req->param('request_content')); 24 my( $username, $password ) = map { $c->req->param( $_ ) } qw( username password ); 25 26 if( $username and $password ) { 27 $api->username( $username ); 28 $api->password( $password ); 29 } 30 31 my $content = $c->req->param('request_content'); 32 my $entry = $content ? XML::Atom::Entry->new( \$content ) : undef; 34 33 my ($feed, $request, $response) = $api->$method( $c->req->param('resource_uri'), $entry ); 35 34 atom_client/trunk/lib/My/XML/Atom/Client.pm
r55 r56 18 18 19 19 return ($feed, $req, $res); 20 21 } 22 23 sub getEntry { 24 my $client = shift; 25 my($uri) = @_; 26 return $client->error("Must pass a URI before retrieving entry") 27 unless $uri; 28 my $req = HTTP::Request->new(GET => $uri); 29 my $res = $client->make_request($req); 30 #return $client->error("Error on GET $uri: " . $res->status_line) 31 # unless $res->code == 200; 32 my $entry = XML::Atom::Entry->new(Stream => \$res->content) 33 or return $client->error(XML::Atom::Entry->errstr); 34 35 return ($entry, $req, $res); 20 36 21 37 } atom_client/trunk/root/default.tt
r53 r56 27 27 <label>Request Method: </label> 28 28 <select name="request_method"> 29 <option>GET</option> 30 <option>POST</option> 31 <option>PUT</option> 32 <option>DELETE</option> 29 <option value="getFeed">GET(getFeed)</option> 30 <option value="getEntry">GET(getEntry)</option> 31 <option value="createEntry">POST(createEntry)</option> 32 <option value="updateEntry">PUT(updateEntry)</option> 33 <option value="deleteEntry">DELETE(deleteEntry)</option> 33 34 </select> 34 35 <br />
