2

[REFACTOR]: [Globepay] Remove Default Case Handling · Issue #4060 · juspay/hype...

 1 month ago
source link: https://github.com/juspay/hyperswitch/issues/4060
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

📝 Feature Description

  • We utilize match statements to make pivotal decisions, such as generating requests based on the payment method type and managing responses received from the connector.
  • These conditions generally go hand in hand with enum variants.
  • Default case is used because a match statement needs to be exhaustive i.e. every variant needs to be covered.
  • So, if all the explicit cases are handled then default is used to handle the rest.
  • Each connector have these match statements but many of them don’t provide reference to each variant in their default case, rather a _ is put to handle all the other cases.
  • This approach carries a risk because developers may inadvertently overlook the need for explicit handling of the new cases.

🔨 Possible Implementation

  • Instead of relying on a default match case _, developers should handle each and every variant explicitly.
  • By doing so, if there are any changes in the future, they can readily assess the impact of their modifications simply by compiling the code.
  • In order to manage payment methods that are not implemented by Hyperswitch or yet to be implemented, the connector transformers file should make use of the NotImplemented ConnectorError enum variant.
  • By doing so, we will throw same error message for all the Connector Implementation
  • You can check this PR for further reference refactor(connector): [Zen] refactor Zen payment methods not implemented errors #1955

🔖 Note: All the changes needed should be contained within hyperswitch/crates/router/src/connector/globepay/transformer.rs

📦 Have you spent some time checking if this feature request has been raised before?

  • I checked and didn't find a similar issue

📦 Have you read the Contributing Guidelines?

✨ Are you willing to submit a PR?


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK