Use `ValidateRemoteGitEndpointService` for pull mirroring configuration via UI
### Problem Based [on user's report](https://gitlab.com/gitlab-org/gitlab/-/issues/375217#note_1485519273) there is a difference in pull mirroring settings processing between UI and API. API additionally [validates a correctness of pull mirroring source](https://gitlab.com/gitlab-org/gitlab/blob/e61dde14240a0cde513d812aacc39aa962be48b3/ee/lib/ee/api/projects.rb#L105), however UI doesn't do that. ### Reproduction steps 1. Create a project with pull mirroring via API and check the error ```sh curl --request POST --header "PRIVATE-TOKEN: <token>" --header "Content-Type: application/json" "http://127.0.0.1:3000/api/v4/projects" --data '{"name": "pull_testing", "import_url": "http://not-existing-url-1/git"}' {"message":"HTTP gitlab/http_v2/blocked_url_error error: URL is blocked: Host cannot be resolved or invalid"} ``` 2. Try to setup a pull mirroring via UI. It allows to provide an invalid `import_url`. ![Screenshot_2024-02-16_at_14.29.10](/uploads/0be24077b2c7fe11c18a92be6795ddfd/Screenshot_2024-02-16_at_14.29.10.png) 3. After some time, the error appears that the import url is invalid. ![Screenshot_2024-02-16_at_14.38.10](/uploads/c3aaef1cabcbba2e587c1b1824e89169/Screenshot_2024-02-16_at_14.38.10.png) Here is a source of the discrepancy between API and UI. * API checks the import url before saving it in the database and immediately responds with an error. * UI allows to save an invalid url. The verification occurs later when we try to access the remote repository. ### Proposal * Immediately verify the provided URL when the user setup a pull mirroring. * Display an error when the URL is not valid
issue