Package Kit: convert HTTP error code only on BHttpRequest
Other request types exists such as BFileRequest. Fixes #15675. Change-Id: Ib2e07fad4dd9f682d2b9fc0cdbf0ca60ecd3adfb Reviewed-on: https://review.haiku-os.org/c/haiku/+/2200 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Reviewed-by: François Revol <revol@free.fr>
This commit is contained in:
parent
5f4f455cfd
commit
b3de8bea44
@ -129,51 +129,53 @@ FetchFileJob::RequestCompleted(BUrlRequest* request, bool success)
|
||||
fError = request->Status();
|
||||
|
||||
if (success) {
|
||||
const BHttpResult& outResult = dynamic_cast<const BHttpResult&>
|
||||
(request->Result());
|
||||
uint16 code = outResult.StatusCode();
|
||||
uint16 codeClass = BHttpRequest::StatusCodeClass(code);
|
||||
const BHttpResult* httpResult = dynamic_cast<const BHttpResult*>
|
||||
(&request->Result());
|
||||
if (httpResult != NULL) {
|
||||
uint16 code = httpResult->StatusCode();
|
||||
uint16 codeClass = BHttpRequest::StatusCodeClass(code);
|
||||
|
||||
switch (codeClass) {
|
||||
case B_HTTP_STATUS_CLASS_CLIENT_ERROR:
|
||||
case B_HTTP_STATUS_CLASS_SERVER_ERROR:
|
||||
fError = B_IO_ERROR;
|
||||
break;
|
||||
default:
|
||||
fError = B_OK;
|
||||
break;
|
||||
}
|
||||
switch (code) {
|
||||
case B_HTTP_STATUS_OK:
|
||||
fError = B_OK;
|
||||
break;
|
||||
case B_HTTP_STATUS_PARTIAL_CONTENT:
|
||||
fError = B_PARTIAL_READ;
|
||||
break;
|
||||
case B_HTTP_STATUS_REQUEST_TIMEOUT:
|
||||
case B_HTTP_STATUS_GATEWAY_TIMEOUT:
|
||||
fError = B_DEV_TIMEOUT;
|
||||
break;
|
||||
case B_HTTP_STATUS_NOT_IMPLEMENTED:
|
||||
case B_HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE:
|
||||
fError = B_NOT_SUPPORTED;
|
||||
break;
|
||||
case B_HTTP_STATUS_UNAUTHORIZED:
|
||||
fError = B_PERMISSION_DENIED;
|
||||
break;
|
||||
case B_HTTP_STATUS_FORBIDDEN:
|
||||
case B_HTTP_STATUS_METHOD_NOT_ALLOWED:
|
||||
case B_HTTP_STATUS_NOT_ACCEPTABLE:
|
||||
fError = B_NOT_ALLOWED;
|
||||
break;
|
||||
case B_HTTP_STATUS_NOT_FOUND:
|
||||
fError = B_NAME_NOT_FOUND;
|
||||
break;
|
||||
case B_HTTP_STATUS_BAD_GATEWAY:
|
||||
fError = B_BAD_DATA;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
switch (codeClass) {
|
||||
case B_HTTP_STATUS_CLASS_CLIENT_ERROR:
|
||||
case B_HTTP_STATUS_CLASS_SERVER_ERROR:
|
||||
fError = B_IO_ERROR;
|
||||
break;
|
||||
default:
|
||||
fError = B_OK;
|
||||
break;
|
||||
}
|
||||
switch (code) {
|
||||
case B_HTTP_STATUS_OK:
|
||||
fError = B_OK;
|
||||
break;
|
||||
case B_HTTP_STATUS_PARTIAL_CONTENT:
|
||||
fError = B_PARTIAL_READ;
|
||||
break;
|
||||
case B_HTTP_STATUS_REQUEST_TIMEOUT:
|
||||
case B_HTTP_STATUS_GATEWAY_TIMEOUT:
|
||||
fError = B_DEV_TIMEOUT;
|
||||
break;
|
||||
case B_HTTP_STATUS_NOT_IMPLEMENTED:
|
||||
case B_HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE:
|
||||
fError = B_NOT_SUPPORTED;
|
||||
break;
|
||||
case B_HTTP_STATUS_UNAUTHORIZED:
|
||||
fError = B_PERMISSION_DENIED;
|
||||
break;
|
||||
case B_HTTP_STATUS_FORBIDDEN:
|
||||
case B_HTTP_STATUS_METHOD_NOT_ALLOWED:
|
||||
case B_HTTP_STATUS_NOT_ACCEPTABLE:
|
||||
fError = B_NOT_ALLOWED;
|
||||
break;
|
||||
case B_HTTP_STATUS_NOT_FOUND:
|
||||
fError = B_NAME_NOT_FOUND;
|
||||
break;
|
||||
case B_HTTP_STATUS_BAD_GATEWAY:
|
||||
fError = B_BAD_DATA;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user