[PR #21934] refactor: extract common url validator for config_entity.py #29792

Closed
opened 2026-02-21 20:46:15 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/21934

State: closed
Merged: Yes


Important

  1. Make sure you have read our contribution guidelines
  2. Ensure there is an associated issue and you have been assigned to it
  3. Use the correct syntax to link this PR: Fixes #<issue number>.

Summary

This pull request refactors the config_entity.py module by extracting a common URL validator to streamline validation logic across multiple configuration classes. The change improves maintainability and ensures consistent URL validation behavior across the following entities:

  • ArizeConfig
  • PhoenixConfig
  • LangfuseConfig
  • LangSmithConfig
  • OpikConfig
  • WeaveConfig

Fix #21933

Motivation

The previous implementation had redundant URL validation logic spread across multiple configuration classes. By extracting a shared validator, the code becomes cleaner, easier to maintain, and reduces the risk of inconsistencies in URL validation.

Dependencies

No new dependencies are introduced in this change.

Screenshots

Before After
Redundant URL validation logic in multiple classes Shared URL validator applied across all configuration classes

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
**Original Pull Request:** https://github.com/langgenius/dify/pull/21934 **State:** closed **Merged:** Yes --- > [!IMPORTANT] > > 1. Make sure you have read our [contribution guidelines](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) > 2. Ensure there is an associated issue and you have been assigned to it > 3. Use the correct syntax to link this PR: `Fixes #<issue number>`. ## Summary This pull request refactors the `config_entity.py` module by extracting a common URL validator to streamline validation logic across multiple configuration classes. The change improves maintainability and ensures consistent URL validation behavior across the following entities: - `ArizeConfig` - `PhoenixConfig` - `LangfuseConfig` - `LangSmithConfig` - `OpikConfig` - `WeaveConfig` Fix #21933 ### Motivation The previous implementation had redundant URL validation logic spread across multiple configuration classes. By extracting a shared validator, the code becomes cleaner, easier to maintain, and reduces the risk of inconsistencies in URL validation. ### Dependencies No new dependencies are introduced in this change. ## Screenshots | Before | After | |--------|-------| | Redundant URL validation logic in multiple classes | Shared URL validator applied across all configuration classes | ## Checklist - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:46:15 -05:00
yindo closed this issue 2026-02-21 20:46:15 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#29792