Switch WebPurify to TLS and Fix WebPurify Timeout Configuration #69986
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.
#69880 did not work and we continue to see about 300 student requests fail each day due to connectivity issues with WebPurify.
This is occuring, in part, because of a latent defect in our invocation of
Net::HTTP.start. We failed to add the splat (**) operator to the finalCONNECTION_OPTIONShash argument, so since upgrading to Ruby 3.x, we've been incorrectly passing it to the 3rd argument (p_addrhttp proxy address) https://docs.ruby-lang.org/en/3.1/Net/HTTP.html#method-c-startAlso switch to HTTPS (TLS) because we've been gifted an Enterprise license and that supports SSL and connectivity may be more reliable over HTTPS and port 443.
Testing story
Configured local development environment with an API key and manually executed many of the unit tests (which use
VCRto mock interactions with the WebPurify webservice):Deployment strategy
Follow-up work
Implement HTTP retry for the cases where the HTTP connection pool gives us a stale connection (if we set keep-alive > 0), and for cases when the webservice has other types of connectivity errors).
Privacy
Security
Caching
PR Creation Checklist: