You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by GitBox <gi...@apache.org> on 2022/06/03 08:23:50 UTC

[GitHub] [sling-org-apache-sling-distribution-core] jose-correia opened a new pull request, #60: Implement external error codes for easier exception data propagation and tracing

jose-correia opened a new pull request, #60:
URL: https://github.com/apache/sling-org-apache-sling-distribution-core/pull/60

   This PR adds support for static ERROR_CODES that can be configured in a single place, and allow for:
   
   1. Easier propagation of exception expected outcomes, since the expected description, distributed-tracing error code, and HTTP status come very easily when each exception is thrown, avoiding extensive try/catch scenarios.
   2. A single place of change for API error descriptions.
   3. This can be extended to add links to external documentation, once the error codes are added there.
   
   ### Implementation
   
   Each error code is defined in the `ErrorCodes` enum, and contains:
   
   - A unique `code`, which needs to be unique for all the errors;
   - A external-facing `description`;
   - An expected `HTTP status code`
   
   ### Initial Errors
   ```java
       UNKNOWN_ERROR("unknown", "An unexpected error has occurred.", 500)
       DISTRIBUTION_PACKAGE_SIZE_LIMIT_EXCEEDED("package_limit_exceeded", "Package has exceeded the limit bytes size.", 400);
   ```
   
   
   
   ### Notes
   
   - This will maintain backward compatibility since we still support the exception without error code
   - Exception can start implementing error codes simply by extending the `DocumentedException` class
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@sling.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [sling-org-apache-sling-distribution-core] sonarcloud[bot] commented on pull request #60: Implement external error codes for easier exception data propagation and tracing

Posted by "sonarcloud[bot] (via GitHub)" <gi...@apache.org>.
sonarcloud[bot] commented on PR #60:
URL: https://github.com/apache/sling-org-apache-sling-distribution-core/pull/60#issuecomment-1497784710

   SonarCloud Quality Gate failed.&nbsp; &nbsp; [![Quality Gate failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/failed-16px.png 'Quality Gate failed')](https://sonarcloud.io/dashboard?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60)
   
   [![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60&resolved=false&types=BUG)  
   [![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60&resolved=false&types=VULNERABILITY)  
   [![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60&resolved=false&types=SECURITY_HOTSPOT)  
   [![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60&resolved=false&types=CODE_SMELL) [1 Code Smell](https://sonarcloud.io/project/issues?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60&resolved=false&types=CODE_SMELL)
   
   [![41.0%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/40-16px.png '41.0%')](https://sonarcloud.io/component_measures?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60&metric=new_coverage&view=list) [41.0% Coverage](https://sonarcloud.io/component_measures?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60&metric=new_coverage&view=list)  
   [![0.0%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/3-16px.png '0.0%')](https://sonarcloud.io/component_measures?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60&metric=new_duplicated_lines_density&view=list) [0.0% Duplication](https://sonarcloud.io/component_measures?id=apache_sling-org-apache-sling-distribution-core&pullRequest=60&metric=new_duplicated_lines_density&view=list)
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@sling.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org