in src/WebJobs.Script/Binding/Http/HttpBinding.cs [145:181]
internal static bool TryParseStatusCode(IDictionary<string, object> responseObject, out int? statusCode)
{
statusCode = StatusCodes.Status200OK;
if (!responseObject.TryGetValue(WorkerConstants.HttpStatusCode, out object statusValue, ignoreCase: true) &&
!responseObject.TryGetValue(WorkerConstants.HttpStatus, out statusValue, ignoreCase: true))
{
return false;
}
if (statusValue is HttpStatusCode ||
statusValue is int)
{
statusCode = (int)statusValue;
return true;
}
if (statusValue is uint ||
statusValue is short ||
statusValue is ushort ||
statusValue is long ||
statusValue is ulong)
{
statusCode = Convert.ToInt32(statusValue);
return true;
}
var stringValue = statusValue as string;
int parsedStatusCode;
if (stringValue != null && int.TryParse(stringValue, NumberStyles.Integer, CultureInfo.InvariantCulture, out parsedStatusCode))
{
statusCode = parsedStatusCode;
return true;
}
return false;
}