User Tools

Site Tools


perl_client_library

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

perl_client_library [2010/11/06 18:45]
jay
perl_client_library [2011/11/10 19:34] (current)
jay
Line 4: Line 4:
 This simple implementation illustrates how to use a low-level HTTP library to provide an object-oriented interface to the 4theFile API functionality. The users of the resulting module don't need to think about REST or HTTP; their interface is practically identical to what they would see if the 4theFile Resource data was stored in a local database on their server. This simple implementation illustrates how to use a low-level HTTP library to provide an object-oriented interface to the 4theFile API functionality. The users of the resulting module don't need to think about REST or HTTP; their interface is practically identical to what they would see if the 4theFile Resource data was stored in a local database on their server.
  
-If you're a perl programmer, you could use this library as is or modify it to suit your tastes. Or you might want to use this perl implementation as a model for your own development in the language of your choice.+If you're a perl programmer, you could use this library as isor modify it to suit your tastes. Or you might want to use the perl implementation as a model for your own development in the language of your choice. 
 + 
 +[[http://4thefile.com/pages/static/Lib4theFileAPI.tgz | download]]
  
 <code> <code>
Line 13: Line 15:
 SYNOPSIS SYNOPSIS
       use Lib4theFileAPI;       use Lib4theFileAPI;
-      my $api = Lib4theFileAPI->new('https://4thefile.com/api_v1',$username,$apiKey);  +      my $api = Lib4theFileAPI->new(https://4thefile.com/api_v1,$username,$apiKey) 
 +           ││ die "invalid endpoint url or credentials"; 
 +      $api->test_connect or die "failed api connection with error: ".$api->response->status_line;
  
       # list resources for collection ESuVkqZF that have tag "newtag"       # list resources for collection ESuVkqZF that have tag "newtag"
Line 29: Line 33:
  
         returns a new Lib4theFileAPI instance         returns a new Lib4theFileAPI instance
 +
 +    version()
 +        returns VERSION string for perl library
  
 INSTANCE METHODS INSTANCE METHODS
-    response();+    response()
         returns an HTTP::Response object resulting from previous API call,         returns an HTTP::Response object resulting from previous API call,
         especially useful if previous call returned undef indicating a         especially useful if previous call returned undef indicating a
         problem         problem
 +
 +    test_connect()
 +        attempts a call to the resource_list API method and returns 1 if connection was successful and valid data
 +        received. returns undef if connection failed (use response->status_line to see the error code returned
 +        from the http connection), or returns 0 if the connection was successful but no valid xml was returned by
 +        the server
  
     resource_list([$query])     resource_list([$query])
Line 46: Line 59:
         returns Lib4theFileAPI::Resource object for resource key $rkey or         returns Lib4theFileAPI::Resource object for resource key $rkey or
         undef if none found         undef if none found
 +
 +    resource_attachment_list($rkey)
 +        returns a Lib4thFile::AttachmentList object containing a list of attachments (if any)
 +        for the top-level message in Resource, plus a little meta data (e.g. attach-
 +        ment_count)
  
     collection_resource_list($ckey,[$query])     collection_resource_list($ckey,[$query])
Line 52: Line 70:
  
         $query is an optional hashref containing query parameters as         $query is an optional hashref containing query parameters as
-        outlined in the API documentation. keys include page, per_page, tag+        outlined in the API documentation. keys include page, per_page, tag, cdate
  
     collection($ckey)     collection($ckey)
Line 78: Line 96:
         does not delete resource from 4theFile.         does not delete resource from 4theFile.
  
-AUTHOR 
-    created by: jay; Fri Nov 5 16:58:42 2010 
- 
-    last revised: 
  
 </code> </code>
perl_client_library.1289069111.txt.gz · Last modified: 2010/11/06 18:45 by jay