Merged
Conversation
- Add WebUtilityException abstract base class - All package exceptions now extend WebUtilityException - Enables catching all package exceptions in one go - Add tests for exception hierarchy
- Anchor regex to start of string with ^ - Prevents false matches on URLs containing schemes - Applied to both UriUtility and ResponseUtility
- Fix IPv6 detection running after escapeshellarg - Consolidate OS detection into detectOs() method - Add setTimeout() and setTtl() fluent setters - Add isAlive() and latency() convenience methods - Add tests for new features
- Use getResponse()->getStatusCode() instead of getCode() - Preserves actual status code (401, 403, 429, etc.)
- Add isSuccessful(), isRedirect(), isClientError(), isServerError() - Add header() for single header lookup (case-insensitive) - Add isJson() and json() for JSON response handling - Add toArray() for response serialisation - Add comprehensive tests for all new methods
- Add json(), contentType(), headers(), statusCode() - Add withHeaders() and withTimeout() for request config - Add post() for POST requests - Add tests for all new features
- Add fragment(), withFragment(), withScheme() - Add withHost(), withPath(), withPort() - Add removeQueryParameter(), hasQueryParameter() - Add userInfo(), isValid(), toArray(), equals() - Add tests for all new features
- Add head() for lightweight HEAD requests - Add setMaxRedirects() fluent setter - Add isAlive() for quick 2xx liveness checks - Return self instead of ResponseUtility for fluency - Add tests for all new features
- Add static make() factory method - Add response() to expose ResponseUtility - Add isAlive() for quick liveness checks - Add tests for all new features
- Add title() and metaDescription() helpers - Add linkHrefs() and imageSrcs() extractors - Add meta() for arbitrary meta tag lookup - Add tests for all new methods
- Update README with new usage examples - Document exception hierarchy - Update content, ping, and URI utility docs - Add docs for all new methods
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.