[Lib/InnerBrowser] Send raw content in post body
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 48/100
Rechercherichtung
Beginne in src/Codeception/Lib/InnerBrowser.php etwa bei Zeile 189 und untersuche, wie sendAjaxPostRequest seinen zweiten Parameter validiert und formatiert. Vergleiche das dokumentierte Array-Verhalten mit den Beispielen für rohes JSON und Plaintext; als erledigt gilt die Änderung, wenn Aufrufer rohe Inhalte senden können, ohne dass diese durch http_build_query konvertiert werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
What are you trying to achieve?
I am trying to call sendAjaxPostRequest and I would like to pass raw, unformatted parameters to the server.
For example
$I->sendAjaxPostRequest('/some-endpoint', '{"foo": "bar"}');
// or even
$I->sendAjaxPostRequest('/some-endpoint', 'hello, how do you do?')
What do you get instead?
I get an error saying that the second parameter of sendAjaxPostRequest must be of type array. This array then gets converted using http_build_query and there is no way to pass raw data. See https://github.com/Codeception/Codeception/blob/3.1/src/Codeception/Lib/InnerBrowser.php#L189
When passing an array, the array always gets converted to http query params format of foo=bar&example=codeception
I think an alternative approach could be to use REST Module, which I think can accept raw content (or at least properly json_encode body).
Is there something I am missing? How would you suggest to test this endpoint?
- Vorherrschende Sprache
- PHP
- Sterne
- 87
- Forks
- 20
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Codeception/lib-innerbrowser
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 48/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 42/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 35/100
Codeception/lib-innerbrowser#31 · 2 Kommentare ·
-
enhancement
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
Codeception/lib-innerbrowser#16 · 1 Kommentar ·
-
Add `seeSourceEquals()`Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
Alle Issues in Codeception/lib-innerbrowser
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
scanaislop/aislop#482 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
humanmade/publication-checklist#73 · 1 Kommentar ·
-
Do not throw `WordPress.Security.EscapeOutput.OutputNotEscaped` on `apply_shortcodes()`Evtl. vergeben @tbradsha hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100