Skip to content

WiFiClientSecure with ArduinoHttpClient times out if response is chunked #1080

Closed
@ghost

Description

Hardware:

Board: Heltec WiFi Lora 32
Core Installation/update date: 04/02/2018
IDE name: Arduino IDE
Flash Frequency: 80MHz
Upload Speed: 921600

Description:

If the response of the request is chunked, cient.responseBody() will eventually time out. Now, this isn't a problem in ArduinoHttpClient, but instead is one in WiFi101, PR: arduino-libraries/WiFi101#116.

Can the same fix be implemented here?

Sketch:

//...

#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <ArduinoHttpClient.h>

//...

WiFiClientSecure wifiClientS;

//...

int twitterFollowerCount = 0;

//...

void setup() {
  //...
  
  WiFi.mode(WIFI_STA);
  WiFi.disconnect(); // Disconnect from any WiFi networks we may already be connected to.
  
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD); // Connect to our WiFi.
  
  //...
  
  while (WiFi.status() != WL_CONNECTED) { // Wait until WiFi's connected
    //...
  }
  
  //...
  
  twitterFollowerCount = getTwitterFollowerCount(); // Get our follower count
  
  //...
}

int getTwitterFollowerCount() {
  //...
  
  HttpClient twitterClient = HttpClient(wifiClientS, "api.twitter.com", 443); // Connect to Twitter

  twitterClient.beginRequest();
  twitterClient.get(TWITTER_DATA_URL);
  twitterClient.sendHeader("Authorization", ((String)"Bearer ") + TWITTER_BEARER_TOKEN);
  twitterClient.endRequest();

  //...

  char* jsonResponse = (char*)malloc(5121);
  
  //...
  
  twitterClient.responseBody().toCharArray(jsonResponse, 5121);
  
  //...

  twitterClient.stop();
  
  ///...
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Status: StaleIssue is stale stage (outdated/stuck)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions