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)
committerJeff Davis <jdavis@sitka.bclibraries.ca>
Fri, 17 Feb 2017 19:01:40 +0000 (11:01 -0800)
commitb769034acb83c13092de8b15c3ee7496d554b3ef
tree67a8de919fb8794296b789442e0ef32d3d7b8f36
parent98eff965107e55ec6d82ad3d63d6e6e24bc2f27f
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>
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]