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>
Thu, 16 Feb 2017 20:49:57 +0000 (12:49 -0800)
commitded9cc27fec67cd42876f6ca9e0f854bc2a86cc7
treeb065f9d10a2e50e03e13cf25e5aced2cfa026f17
parentbe6c8343709d44c3e0d1115dac6980e67ed0cdfd
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]