~fitzsim/url-http-oauth

Bump version to 0.8.3

* url-http-oauth.el: Bump version to 0.8.3.
* NEWS: Document 0.8.3 changes.
* README: New file.
Import url-http-oauth-demo.el from its own repo

* url-http-oauth-demo.el: New file.
* url-http-oauth.el: Mention url-http-oauth-demo.el in comment
header.
Add autoloads and configuration validation

* url-http-oauth.el: Update commentary.
(url-http-oauth-interpose)
(url-http-oauth-uninterpose, url-http-oauth-interposed-p):
Autoload.
(url-http-oauth-interpose): Use let, not let*.  Validate
client-identifier field.
Fix compatibility with Emacs 27.1

* url-http-oauth.el (url-http-oauth--netrc-delete): Use
line-beginning-position and line-end-position for compatibility.
Bump version to 0.8.2

* url-http-oauth.el: Bump version to 0.8.2.
* NEWS: Document 0.8.2 change.
Fix url-http-oauth-interposed-p for default case

* url-http-oauth.el (url-http-oauth-interposed-p): Check if regexp
is nil.
Fix a typo

* NEWS: Fix a typo.
Bump version to 0.8.1

* url-http-oauth.el, NEWS: Bump version to 0.8.1.
Remove a debugging message

* url-http-oauth.el (url-http-oauth--parse-grant): Remove
debugging message.
Bump version to 0.8.0

* url-http-oauth.el: Bump version to 0.8.0.
* NEWS: New file.
Retest against sourcehut, fix new issues

* url-http-oauth.el (url-http-oauth--update-regexp): Check for nil
resource-url and resource-url-prefixes entries.
(url-http-oauth--get-access-token-grant): Add missing nil argument
to url-http-oauth--auth-source-search call.  Make last argument to
apply a list.  Do not include client identifier in request body if
it is already in the authorization header.
(url-http-oauth--expiry-string): Handle expiry being a number
instead of a string.
Use relative expiry time in seconds

* url-http-oauth.el (url-http-oauth--expiry-string): Use
expires_in, not expires_on.
Allow per-provider user-agent interaction function

* url-http-oauth.el (url-http-oauth-interpose): Document
authorization-code-function.
(url-http-oauth--retrieve-and-save-bearer): Use
authorization-code-function if it is provided in settings.
Make message formatting consistent

* url-http-oauth.el (url-http-oauth-interpose)
(url-http-oauth--parse-grant, url-http-oauth--expiry-string)
(url-http-oauth--url-build-refresh, url-oauth-auth): Add package
name herald to error message.
(url-http-oauth--netrc-delete): Remove a message.
Make functions private, fix some bugs

* url-http-oauth.el (url-http-oauth--url-string)
(url-http-oauth--url-object, url-http-oauth--url-no-query)
(url-http-oauth--settings, url-http-oauth--update-regexp)
(url-http-oauth--port, url-http-oauth--auth-info-password)
(url-http-oauth--json-parse-buffer)
(url-http-oauth--auth-source-search)
(url-http-oauth--parse-grant)
(url-http-oauth--get-access-token-grant)
(url-http-oauth--expiry-string)
(url-http-oauth--refresh-token-string)
(url-http-oauth--extract-authorization-code)
(url-http-oauth--authorization-url)
(url-http-oauth--url-build-refresh)
(url-http-oauth--netrc-delete, url-http-oauth--save-bearer)
(url-http-oauth--refresh-access-token-grant)
(url-http-oauth--retrieve-and-save-bearer)
(url-http-oauth--get-bearer): Rename to indicate private scope.
(url-http-oauth--parse-grant): Dump grant buffer contents to
messages buffer.  Fix downcase typo.  Fix error message format.
(url-http-oauth--get-access-token-grant): Save access-token-url to
auth-sources.  Fix access-token-object typo.
(url-http-oauth--expiry-string): Use "expires_on" for absolute
expiry time.
(url-http-oauth--refresh-token-string): Fix copy-n-paste error.
(url-http-oauth--authorization-url): Wrap a long line.
(url-http-oauth--url-build-refresh): Wrap some long lines.
(url-http-oauth--netrc-delete): Use pos-bol and pos-eol.
(url-http-oauth--refresh-access-token-grant): Update docstring.
(url-http-oauth--retrieve-and-save-bearer): Fix docstring.
(url-http-oauth-get-bearer): Simplify resource-url handling.
Complete regexp, list and token refresh design

* url-http-oauth.el (url-http-oauth--interposed): Update
docstring.
(url-http-oauth--interposed-regexp): New variable.
(url-http-oauth-url-string): Update docstring.
(url-http-oauth-url-object): Likewise.
(url-http-oauth-url-no-query): New function.
(url-http-oauth-settings): Change implementation to be list-based.
(url-http-oauth-update-regexp): New function.
(url-http-oauth-interpose): Expand docstring.  Change
implementation to be list-based.
(url-http-oauth-uninterpose): Likewise.
(url-http-oauth-interposed-p): New function.
(url-http-oauth-port): Allow URL string arguments.
(url-http-oauth-auth-source-search): Reimplement to put entire
non-query URL string in :host field.
(url-http-oauth--parse-grant): New function.
(url-http-oauth-refresh-token-string): New function.
(url-http-oauth-url-build-refresh): Likewise.
(url-http-oauth--netrc-delete): Likewise.
(url-http-oauth-save-bearer): Likewise.
(url-http-oauth-refresh-access-token-grant): Likewise.
(url-http-oauth-retrieve-and-save-bearer): Likewise.
(url-http-oauth-get-bearer): Reimplement using new function.
(url-oauth-auth): Check URL argument against regexp before
proceeding.
Make some adjustments based on testing

* url-http-oauth.el (url-http-oauth-get-access-token-grant): Omit
authorization header if it is not required.  Include client_id and
redirect_uri in request data.  Downcase token_type value.
(url-http-oauth-get-bearer): Encode scope for auth-source search.
Fix auth-source lookup conflicts and config cdrs

* url-http-oauth.el (url-http-oauth-interpose): Change url to
urls.  Assume conses, not lists in url-settings.
(url-http-oauth-uninterpose): Likewise.
(url-http-no-retry): Define special variable.
(url-http-oauth-auth-source-search): Do not warn on zero results.
(url-http-oauth-encode-scope): New function.
(url-http-oauth-auth-info-password): Likewise.
(url-http-oauth-json-parse-buffer): Likewise.
(url-http-oauth-get-access-token-grant): Assume conses, not lists
in url-settings.  Do not set auth-source-do-cache to nil.
Simplify url-http-oauth-auth-source-search call.  Encode scope
with no spaces for authinfo storage.  Use
url-http-oauth-json-parse-buffer instead of json-parse-buffer
(url-http-oauth-authorization-url): Assume conses, not lists in
url-settings.  Apply list instead of using macro for
url-build-query-string argument.
(url-http-oauth-get-bearer): Use dummy "BEARER" user name.
Simplify call to auth-source-search.
Fix auth-source-search for path and scope

* url-http-oauth.el(url-http-oauth-port): Fix whitespace.
(url-http-oauth-auth-source-search): New function.
(url-http-oauth-get-access-token-grant): Search using new function
before saving client secret.
(url-http-oauth-port): Fix whitespace.
(url-http-oauth-get-bearer): Make use of new function.
Fix auth-source lookups

* url-http-oauth.el (url-http-oauth-port): Always return the port
as a string.
(url-http-oauth-get-bearer): Use empty string for null user.
Next