
WebService::Technorati::ApiQuery - a base class for web services client queries

This class has no constructor, as there's little use instantiating one. The fun is in the derived classes.

When adding a new API call client, this class provides a lot scaffolding such as query string building, HTTP protocol stuff, XML::XPath object creation, and other common behaviors.

This class is mostly utility functions that are inherited by ApiQuery derivations.

No bugs currently open

Join the Technorati developers mailing list at http://mail.technorati.com/mailman/listinfo/developers

Ian Kallen
ikallen _at_ technorati.com
http://developers.technorati.com

This program is free software; you can redistribute it and/or modify it under the terms of the following Creative Commons License: http://creativecommons.org/licenses/by/2.0 as well as the indemnification provisions of the Apache 2.0 style license, the full text of which can be found in the LICENSE file included with this module.

perl(1).
Usage : apiHostUrl('http://developers.technorati.com')
Purpose : gets/sets the base URL
Returns : a URL string
Argument : a base URL, if setting the value; otherwise none
Throws : none
Comments : Instantiations of an ApiQuery subclass may want to change
which api host they connect to (i.e. for beta testing
interface changes that aren't yet deployed to the default
host, http://api.technorati.com).
See Also : WebService::Technorati
Usage : fetch_url('http://developers.technorati.com')
Purpose : fetches the URL contents
Returns : a scalar of the content data
Argument : a URL
Throws : WebService::Technorati::NetworkException if the URL contents
cannot be fetched
Comments : the underlying implementation uses LWP::UserAgent
See Also : WebService::Technorati
Usage : build_query_string($hashref); Purpose : transforms the keys/values into a query string Returns : the query string Argument : a hash reference Throws : none Comments : multi value keys are not yet accounted for See Also : WebService::Technorati
Usage : build_query_string($apiurl, $hashref); Purpose : handles the low level execution cycle of an API call Returns : void Argument : a hash reference Throws : none Comments : calls build_query_string, fetch_url, instantiates XML::XPath and calls readResults See Also : WebService::Technorati
Usage : readResults($xpath_data); Purpose : this is an abstract method Returns : void Argument : an XML::XPath representation of an API response Throws : WebService::Technorati::MethodNotImplementedException if not overriden Comments : derived classes must implement this in order to use execute(...) See Also : WebService::Technorati