Skip to content

Fix für Encoding-Fehler bei GET-Requests

Robert Palm requested to merge rapl42/tc-frontend:fix-get-encoding into master

Problem

Bei GET-Requests wird kein Accept-Header gesetzt und die Antwort deshalb nicht als UTF-8 behandelt, was zu Zeichensatzfehlern in der App führt. Betroffen sind folgende Module und Features (beim Homescreen kommen eh nur Zahlen):

  • Think Big
  • Q & A
  • Timeline

Lösung

Als Workaround habe ich einfach überall von Hand den Header gesetzt. Justin hat schon angekündigt, dass er den Wrapper um den HTTP-Client, mit dem die Authentifizierung umgesetzt wird um diesen Header zu erweitern. Wenn das funktioniert muss man nicht mehr bei jedem GET darauf achten sondern kann sich darauf verlassen, dass alles richtig ankommt. Bei Bedarf kann man den Accept-Header natürlich noch überschreiben.

Später einfach wieder an diesen Stellen rausnehmen:

$ rg FIXME
lib/Modules/QAndA/Bloc/question_bloc.dart
131:    // FIXME Handle headers in wrapper
144:    // FIXME Handle headers in wrapper

lib/Modules/QAndA/Bloc/answer_bloc.dart
61:    // FIXME Handle headers in wrapper

lib/Modules/ThinkBig/Controller/thinkbig_controller.dart
20:    // FIXME Handle headers in wrapper
35:    // FIXME Handle headers in wrapper

lib/Pages/Timeline/Helper/http_helper.dart
17:    // FIXME Handle headers in wrapper
31:    // FIXME Handle headers in wrapper
58:    // FIXME Handle headers in wrapper

Merge request reports