Pārlūkot izejas kodu

Adds hook to fetchLoginCredentials function (#2640)

* Adds hook to fetchLoginCredentials function

* Adds documentation
Ariel Fuggini 3 gadi atpakaļ
vecāks
revīzija
d44abbb48e
2 mainītis faili ar 8 papildinājumiem un 2 dzēšanām
  1. 1 0
      CHANGES.md
  2. 7 2
      src/headless/utils/init.js

+ 1 - 0
CHANGES.md

@@ -9,6 +9,7 @@
 - #2634: Image previews not loading when not serving Converse locally
 - #2636: Don't fail when setting up a new XEP-0198 managed stream and `_converse.session` is undefined
 - Bugfix: Don't show minimized chats when logged out
+- #2640: Adds `beforeFetchLoginCredentials` hook
 
 ## 8.0.0 (2021-09-03)
 

+ 7 - 2
src/headless/utils/init.js

@@ -230,8 +230,8 @@ async function getLoginCredentials () {
 
 function fetchLoginCredentials (wait=0) {
     return new Promise(
-        debounce((resolve, reject) => {
-            const xhr = new XMLHttpRequest();
+        debounce(async (resolve, reject) => {
+            let xhr = new XMLHttpRequest();
             xhr.open('GET', _converse.api.settings.get("credentials_url"), true);
             xhr.setRequestHeader('Accept', 'application/json, text/javascript');
             xhr.onload = () => {
@@ -248,6 +248,11 @@ function fetchLoginCredentials (wait=0) {
                 }
             };
             xhr.onerror = reject;
+            /**
+             * *Hook* which allows modifying the server request
+             * @event _converse#beforeFetchLoginCredentials
+             */
+            xhr = await _converse.api.hook('beforeFetchLoginCredentials', this, xhr);
             xhr.send();
         }, wait)
     );