The DMPonline OpenAIRE implementation does not use ExternalApis::BaseService at all.
In this PR, DataciteService and CrossrefService inherit from BaseService, but still call HTTParty.get directly. That means timeout handling, headers, and error handling are duplicated in each provider service rather than centralized.
Suggestions:
- Extend BaseService.http_get if needed to support provider-specific headers and timeouts.
- Have DataciteService and CrossrefService call http_get(...) instead of HTTParty.get(...) directly.
- Keep provider services responsible for provider-specific URLs and response parsing only.
Reactions are currently unavailable
The DMPonline OpenAIRE implementation does not use ExternalApis::BaseService at all.
In this PR, DataciteService and CrossrefService inherit from BaseService, but still call HTTParty.get directly. That means timeout handling, headers, and error handling are duplicated in each provider service rather than centralized.
Suggestions: