- Add
URIs::HeadCheck, an OkComputer check that performs a HEAD request to verify the availability of a URL, with optional basic authentication. - updates Requester to support timeouts values passed to RestClient
- Bumping to 0.3.0 to reflect changes to
Requesterand the addition ofURIs::HeadCheck.
- Update to support Ruby 3.3+.
- Update Rubocop & style changes.
URIs#path_escapenow attempts to convert non-UTF-8 strings to UTF-8 rather than immediately raising an error.
- Add
Retry-Aftersupport toRequesterfor429 Too Many Requestsand503 Service Unavailable.
- Allow passing
log: falsetoRequestermethods (and correspondingURIsconvenience methods) to suppress logging of each request URL and response code. - Allow constructing
Requesterinstances with delayed execution - Fix documentation for
get_responseandhead_responseinURIsandRequester
- Fix issue in
Requesterwhere query parameters would not be appended properly to URLs that already included a query string. - Fix issue in
URIs#append(andAppender) where?would not be accepted in query strings or fragments, contrary to RFC 3986 §3. - Fix documentation for
Arrays#find_indices. - Fix issue where
Arrays#find_indexwould raise a confusingNameErrorinstead of a helpfulArgumentErrorif passed too many arguments.
- Adds
URIs#path_escapeto escape URL path segments - Adds
URIs#headandURIs#head_response, to make a HEAD request and return the HTTP status code and raw response object, respectively - Clarifies documentation for
URIs#getandURIs#get_responseregarding unsuccessful requests
- Adds
URIs#safe_parse_uri, which returnsnilfor invalid URLs (unlikeURIs#uri_or_nil, which raisesURI::InvalidURIErrorfor non-nil, non-parseable URLs) - Updates documentation for
URIs#uri_or_nilandValidator#uri_or_nilto clarify thatnilis an acceptable argument.
- Adds
URIs#get_response, which returns a completeRestClient::Responserather than just the response body.
- Adds
BerkeleyLibrary::Files, which contains file and IO utility methods
URIs#appendnow handles bare URLs with empty paths, with the caveat that a root path/will always be added, even if there are no path elements to append.
- Initial extraction of code from
berkeley_library/tind.