Repository navigation
fix: health endpoint and oracle service improvements (#564, #565, #566, #567) - #633
Merged
nonsobethel0-dev merged 1 commit intoSep 25, 2026
Conversation
…ng, and status format support Addresses issues Parashield-Protocol#564, Parashield-Protocol#565, Parashield-Protocol#566, and Parashield-Protocol#567: - Parashield-Protocol#564: Sanitize internal error messages in health endpoint responses to prevent information disclosure. Map sensitive errors (connection, password, credentials) and overly verbose messages to generic client-facing messages while logging full details server-side for debugging. - Parashield-Protocol#565: Add support for Spring Boot Actuator status format via Accept header. Clients sending 'application/vnd.spring-boot.actuator' will receive status values as 'UP'/'DOWN' instead of 'ok'/'degraded', enabling integration with standard monitoring tools. - Parashield-Protocol#566: Implement exponential backoff for Open-Meteo and AviationStack API rate limiting (HTTP 429 responses). New executeWithRateLimitBackoff method respects Retry-After headers and backs off with exponential delays (up to 3 retry attempts), improving reliability during high-volume oracle updates. - Parashield-Protocol#567: Add server uptime tracking to health response via uptimeMs field populated from process.uptime(), allowing operations teams to correlate service health with deployments and restarts.
|
@sanmipaul Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR addresses four related health endpoint and oracle service issues:
Changes
Issue #564 - Security: Sanitize Error Messages
Prevents information disclosure via the health endpoint by mapping internal error details to generic messages while logging full details server-side.
Changes:
sanitizeErrorMessage()helper masks passwords, connection strings, and credentialsIssue #565 - A11y: Status Field Format Support
Adds support for Spring Boot Actuator health format via Accept header for better monitoring tool compatibility.
Changes:
getStatusFormat()detectsapplication/vnd.spring-boot.actuatorAccept headertransformStatusFormat()converts status values: 'ok'/'degraded' → 'UP'/'DOWN'Issue #566 - Bug: API Rate Limit Handling
Implements exponential backoff for Open-Meteo and AviationStack rate limiting (429 responses).
Changes:
executeWithRateLimitBackoff()method with exponential backoff retry logicIssue #567 - UX: Server Uptime Tracking
Adds uptime field to health response for deployment correlation.
Changes:
uptimeMsfield in HealthResponseDtoFiles Modified
Resolves