avformat/http: Introduce ff_http_averror()
int ff_http_averror(int status_code, int default_averror) This helper function returns AVERROR_ value from 3-digit HTTP status code. Second argument, default_averror, is used if no specific AVERROR_ is available. It is introduced because in different places of code different return codes are used - -1, AVERROR(EIO), AVERROR_INVALIDDATA. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
d4e62ebae7
commit
9d86ce783b
@ -272,6 +272,23 @@ int ff_http_do_new_request(URLContext *h, const char *uri)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ff_http_averror(int status_code, int default_averror)
|
||||||
|
{
|
||||||
|
switch (status_code) {
|
||||||
|
case 400: return AVERROR_HTTP_BAD_REQUEST;
|
||||||
|
case 401: return AVERROR_HTTP_UNAUTHORIZED;
|
||||||
|
case 403: return AVERROR_HTTP_FORBIDDEN;
|
||||||
|
case 404: return AVERROR_HTTP_NOT_FOUND;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
if (status_code >= 400 && status_code <= 499)
|
||||||
|
return AVERROR_HTTP_OTHER_4XX;
|
||||||
|
else if (status_code >= 500)
|
||||||
|
return AVERROR_HTTP_SERVER_ERROR;
|
||||||
|
else
|
||||||
|
return default_averror;
|
||||||
|
}
|
||||||
|
|
||||||
static int http_open(URLContext *h, const char *uri, int flags,
|
static int http_open(URLContext *h, const char *uri, int flags,
|
||||||
AVDictionary **options)
|
AVDictionary **options)
|
||||||
{
|
{
|
||||||
|
@ -47,4 +47,6 @@ void ff_http_init_auth_state(URLContext *dest, const URLContext *src);
|
|||||||
*/
|
*/
|
||||||
int ff_http_do_new_request(URLContext *h, const char *uri);
|
int ff_http_do_new_request(URLContext *h, const char *uri);
|
||||||
|
|
||||||
|
int ff_http_averror(int status_code, int default_averror);
|
||||||
|
|
||||||
#endif /* AVFORMAT_HTTP_H */
|
#endif /* AVFORMAT_HTTP_H */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user