static size_t WriteData()

in aws_common/src/sdk_utils/auth/service_credentials_provider.cpp [281:296]


  static size_t WriteData(char * ptr, size_t  /*size*/, size_t nmemb, void * userdata)
  {
    auto * ctx = static_cast<RequestContext *>(userdata);
    size_t current = ctx->stream_.tellp();

    // Returning less than nmemb to curl indicates an error
    if ((current + nmemb) > MAX_IOT_CREDENTIAL_BYTES) {
      AWS_LOG_ERROR(AWS_LOG_TAG,
                    "IoT response was too large, current:%d bytes, read:%d bytes, max:%d bytes",
                    current, nmemb, MAX_IOT_CREDENTIAL_BYTES);
      return 0;
    }

    ctx->stream_.write(ptr, nmemb);
    return nmemb;
  }