expressdartdart-http

Express JS changing line break type to CRLF


I am trying to make a HTTP request from a Flutter App to a Express-JS Server running on an Ubuntu machine. A newer version of Flutter(v1.22.5) throws following error when making the Request:

E/flutter (29477): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: Invalid response, unexpected 10 in reason phrase

The code for making the request looks like this:

final response = await http.get(
                      'http://XX.XX.XXX.XXX/employees', //Hiding IP address for privacy purposes
                      headers: {
                        "Content-Type": "application/json",
                        "Authorization": api_key,
                      },
                    );
                    print(response.statusCode);

I can confirm by using HTTP-Tester Insomnia that the queried URL does indeed return information.

The issue seems to be known and can be viewed here

According to the Github-Thread, the issue is due to wrong line break format in the headers. How can I tell Express JS to use CRLF?


Solution

  • For anyone stumbling across this question, I fixed it by reconfiguring my API-Server. Closer inspection of this problem lead to the conclusion that neither the App nor the API was bad, due to the fact no API-Request did actually reach my API-Code. I figured it out by simply looking at the logs. In my case, it was NginX not working properly as a reverse-proxy. I followed this tutorial to properly set it put.