LP#1541559: ebook API service and test module
authorJeff Davis <jdavis@sitka.bclibraries.ca>
Tue, 7 Feb 2017 23:08:31 +0000 (15:08 -0800)
committerKathy Lussier <klussier@masslnc.org>
Mon, 20 Feb 2017 21:39:20 +0000 (16:39 -0500)
commit1ae4f915f0ce28ff051cea8ea46741b46617b39d
tree97dccc00d8be0283c7249edca104d55f1655e88a
parent20a11a7e31e31c4651519a6a01511d55b99eca7c
LP#1541559: ebook API service and test module

This commit introduces a new service, open-ils.ebook_api, for
integration of third-party APIs from vendors like OverDrive and
OneClickdigital.

The design of the service is somewhat similar to Evergreen's added
content module.  Common functionality and API calls are defined in the
main Perl module, OpenILS::Application::EbookAPI, while vendor-specific
details like endpoint URLs are broken out into separate "handler"
submodules for each vendor API.  (The actual mechanics of HTTP
requests/responses are handled by the new OpenILS::Utils::HTTPClient
module.)

An example handler module, OpenILS::Application::EbookAPI::Test, is
included with this commit, along with some live tests which depend on
the test module.  It can be considered a reference implementation for
future vendor-specific handlers.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Open-ILS/examples/opensrf.xml.example
Open-ILS/examples/opensrf_core.xml.example
Open-ILS/src/perlmods/MANIFEST
Open-ILS/src/perlmods/lib/OpenILS/Application/EbookAPI.pm [new file with mode: 0644]
Open-ILS/src/perlmods/lib/OpenILS/Application/EbookAPI/Test.pm [new file with mode: 0644]
Open-ILS/src/perlmods/live_t/20-lp1541559-ebook-api.t [new file with mode: 0644]
Open-ILS/src/perlmods/t/23-OpenILS-Application-EbookAPI.t [new file with mode: 0644]