@fluwa-tool/sdk 1.0.49 → 1.0.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -160,76 +160,60 @@ class XMLHttpRequestInterceptor {
|
|
|
160
160
|
catch (e) {
|
|
161
161
|
self.logger.debug('❌ Erro ao injetar propriedades mock:', e);
|
|
162
162
|
}
|
|
163
|
-
//
|
|
164
|
-
|
|
163
|
+
// Simular readyState progression - apenas chamar callbacks diretos
|
|
164
|
+
// (dispatchEvent pode não funcionar em React Native)
|
|
165
|
+
const fireCallback = (state, delayMs) => {
|
|
165
166
|
setTimeout(() => {
|
|
166
167
|
setReadyState(state);
|
|
167
|
-
|
|
168
|
+
self.logger.debug(`📞 [XMLHttpRequestInterceptor] readyState=${state} - Tentando chamar onreadystatechange`);
|
|
168
169
|
if (xhr.onreadystatechange && typeof xhr.onreadystatechange === 'function') {
|
|
169
170
|
try {
|
|
170
|
-
self.logger.debug(`📞 [XMLHttpRequestInterceptor] Chamando onreadystatechange para readyState=${state}`);
|
|
171
171
|
xhr.onreadystatechange();
|
|
172
|
+
self.logger.debug(`✅ [XMLHttpRequestInterceptor] onreadystatechange chamado com sucesso`);
|
|
172
173
|
}
|
|
173
174
|
catch (e) {
|
|
174
175
|
self.logger.debug(`❌ Erro ao chamar onreadystatechange(${state}):`, e);
|
|
175
176
|
}
|
|
176
177
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
// Usar objeto simples em vez de ProgressEvent (não existe em React Native)
|
|
180
|
-
const event = { type: 'readystatechange', target: xhr };
|
|
181
|
-
self.logger.debug(`📤 [XMLHttpRequestInterceptor] Disparando evento readystatechange em readyState=${state}`);
|
|
182
|
-
xhr.dispatchEvent(event);
|
|
183
|
-
}
|
|
184
|
-
catch (e) {
|
|
185
|
-
self.logger.debug(`⚠️ [XMLHttpRequestInterceptor] Não conseguiu disparar evento readystatechange:`, e);
|
|
178
|
+
else {
|
|
179
|
+
self.logger.debug(`⚠️ [XMLHttpRequestInterceptor] onreadystatechange não é função:`, typeof xhr.onreadystatechange);
|
|
186
180
|
}
|
|
187
181
|
}, delayMs);
|
|
188
182
|
};
|
|
189
|
-
//
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
// Final: readyState = 4 com
|
|
183
|
+
// Disparar callbacks para cada readyState
|
|
184
|
+
fireCallback(1, 50); // readyState = 1 em 50ms
|
|
185
|
+
fireCallback(2, 100); // readyState = 2 em 100ms
|
|
186
|
+
fireCallback(3, 150); // readyState = 3 em 150ms
|
|
187
|
+
// Final: readyState = 4 com callbacks
|
|
194
188
|
setTimeout(() => {
|
|
195
189
|
setReadyState(4);
|
|
196
|
-
|
|
190
|
+
self.logger.debug(`📞 [XMLHttpRequestInterceptor] readyState=4 - Tentando chamar onreadystatechange`);
|
|
191
|
+
// Chamar onreadystatechange
|
|
197
192
|
if (xhr.onreadystatechange && typeof xhr.onreadystatechange === 'function') {
|
|
198
193
|
try {
|
|
199
|
-
self.logger.debug(`📞 [XMLHttpRequestInterceptor] Chamando onreadystatechange para readyState=4`);
|
|
200
194
|
xhr.onreadystatechange();
|
|
195
|
+
self.logger.debug(`✅ [XMLHttpRequestInterceptor] onreadystatechange(4) chamado com sucesso`);
|
|
201
196
|
}
|
|
202
197
|
catch (e) {
|
|
203
198
|
self.logger.debug(`❌ Erro ao chamar onreadystatechange(4):`, e);
|
|
204
199
|
}
|
|
205
200
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
const event = { type: 'readystatechange', target: xhr };
|
|
209
|
-
self.logger.debug(`📤 [XMLHttpRequestInterceptor] Disparando evento readystatechange em readyState=4`);
|
|
210
|
-
xhr.dispatchEvent(event);
|
|
201
|
+
else {
|
|
202
|
+
self.logger.debug(`⚠️ [XMLHttpRequestInterceptor] onreadystatechange não é função em readyState=4`);
|
|
211
203
|
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
}
|
|
215
|
-
// 3. Chamar onload se existir
|
|
204
|
+
// Chamar onload
|
|
205
|
+
self.logger.debug(`📞 [XMLHttpRequestInterceptor] Tentando chamar onload`);
|
|
216
206
|
if (xhr.onload && typeof xhr.onload === 'function') {
|
|
217
207
|
try {
|
|
218
|
-
self.logger.debug(`📞 [XMLHttpRequestInterceptor] Chamando onload`);
|
|
219
208
|
xhr.onload();
|
|
209
|
+
self.logger.debug(`✅ [XMLHttpRequestInterceptor] onload chamado com sucesso`);
|
|
220
210
|
}
|
|
221
211
|
catch (e) {
|
|
222
212
|
self.logger.debug(`❌ Erro ao chamar onload:`, e);
|
|
223
213
|
}
|
|
224
214
|
}
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
const loadEvent = { type: 'load', target: xhr };
|
|
228
|
-
self.logger.debug(`📤 [XMLHttpRequestInterceptor] Disparando evento load`);
|
|
229
|
-
xhr.dispatchEvent(loadEvent);
|
|
230
|
-
}
|
|
231
|
-
catch (e) {
|
|
232
|
-
self.logger.debug(`⚠️ [XMLHttpRequestInterceptor] Não conseguiu disparar evento load:`, e);
|
|
215
|
+
else {
|
|
216
|
+
self.logger.debug(`⚠️ [XMLHttpRequestInterceptor] onload não é função`);
|
|
233
217
|
}
|
|
234
218
|
self.logger.debug(`✅ [XMLHttpRequestInterceptor] Simulação de resposta COMPLETA`);
|
|
235
219
|
}, 200);
|