demande ++ C ressemble à ceComment configurer des champs d'en-tête personnalisé pour emscripten Fetch API de C++
emscripten_fetch_attr_t attr;
emscripten_fetch_attr_init(&attr);
strcpy(attr.requestMethod, "GET");
// case 1
// static std::vector<const char*> custom_headers = {"Token", "00000000", nullptr};
// attr.requestHeaders = custom_headers.data();
// case 2
static const char* custom_headers[3] = {"Token", "00000000-0000-0000-0000-000000000000", nullptr};
attr.requestHeaders = custom_headers;
attr.attributes = EMSCRIPTEN_FETCH_LOAD_TO_MEMORY;
attr.onsuccess = onDownload;
attr.onerror = onError;
emscripten_fetch(&attr, "http://localhost:9080/api/session");
XHR fonctionne bien, sauf les champs d'en-tête - ils ne sont pas définies dans les deux cas. Doc commentaire de emscripten_fetch_attr_t
struct dire:
// Points to an array of strings to pass custom headers to the request. This array takes the form
// {"key1", "value1", "key2", "value2", "key3", "value3", ..., 0 }; Note especially that the array
// needs to be terminated with a null pointer.
const char * const *requestHeaders;
Emscripten FetchAPI reference et code tests n'a pas exemple d'utilisation requestHeaders
.
Comment exactement définir mes propres champs d'en-tête de demande?
cela n'a aucun sens. si 'fetch -> __ attributes.requestHeaders' est nul, l'assigner à lui-même va écraser null par null. – mchiasson
mais oui, 'fetch -> __ attributes.requestHeaders' est nul. J'ai essayé de le faire à la place: 'fetch -> __ attributes.requestHeaders = custom_headers', mais ça ne marche toujours pas pour moi. les en-têtes ne passent pas. – mchiasson
@mchiasson la ligne ci-dessus ressemble à 'fetch -> __ attributes.password = fetch -> __ attributes.password? strdup (fetch -> __ attributes.password): 0; // TODO: gratuit'. Vous devriez probablement faire la même vérification sauf que vous avez besoin de 'strdup' personnalisé, parce que les en-têtes sont des chaînes de clé et de valeur terminées par zéro et la fin de tous les en-têtes devrait également être' \ 0'. – Sugar