makeWebRequest returns -1001 response code

My app is making a web request to my server. the server returns a 200, the ConnectIQ simulator Http Activity shows a 200, but the code has an error where it is saying the response code is -1001. I have tried editing the headers but I cannot find out what is causing this weird response code and for data to be null./

Here is the HTTP Activity showing that it does get the body as a valid json.

Here is my code. Can anyone help me?

function fetchForecast() {
var serverUrl = SettingsManager.getServerUrl();
var lat = SettingsManager.getLatitude();
var lng = SettingsManager.getLongitude();
var mode = SettingsManager.getFishingMode();

var url = serverUrl + "/api/v1/forecast" +
"?lat=" + lat.toString() +
"&lng=" + lng.toString() +
"&mode=" + mode +
"&compact=true";

System.println("Fetching forecast from: " + url);
var headers = {
"Content-Type" => Communications.REQUEST_CONTENT_TYPE_URL_ENCODED
};



var options = {
:method => Communications.HTTP_REQUEST_METHOD_GET,
:headers => headers,
:responseType => Communications.HTTP_RESPONSE_CONTENT_TYPE_JSON,
};

Communications.makeWebRequest(url, null, options, method(:onForecastResponse));
}

function onForecastResponse(responseCode as Lang.Number, data as Lang.Dictionary or Lang.String or Null) as Void {
System.println("Forecast response: " + responseCode.toString());

if (responseCode == 200 && data != null && data instanceof Lang.Dictionary) {
var dataDict = data as Lang.Dictionary;
var forecastArray = dataDict.get("forecast") as Lang.Array;
if (forecastArray != null) {
var forecasts = [] as Lang.Array<DailyForecast>;

for (var i = 0; i < forecastArray.size() && i < 7; i++) {
var item = forecastArray[i];
if (item != null) {
var df = new DailyForecast();
df.fromDict(item);
forecasts.add(df);
}
}

CacheManager.saveForecast(forecastArray);
_callback.invoke(forecasts);
return;
}
}

System.println("API error, attempting to load cache");
var cached = CacheManager.getCachedForecast();
if (cached != null) {
_callback.invoke(_parseCachedData(cached));
} else {
_callback.invoke(null);
}
}