Smile-SA / cordova-plugin-fileopener

24 stars 28 forks source link

Cannot serve server error messages when trying donwload file #5

Closed mvarga closed 9 years ago

mvarga commented 9 years ago

In FileOpener.java missing some like that:

if (status == DownloadManager.STATUS_FAILED)
{
    int reason = c.getInt(c.getColumnIndex(DownloadManager.COLUMN_REASON));
    String failedReason = "";

    switch(reason){
        case DownloadManager.ERROR_CANNOT_RESUME:
            failedReason = "ERROR_CANNOT_RESUME";
        break;
        case DownloadManager.ERROR_DEVICE_NOT_FOUND:
            failedReason = "ERROR_DEVICE_NOT_FOUND";
        break;
        case DownloadManager.ERROR_FILE_ALREADY_EXISTS:
            failedReason = "ERROR_FILE_ALREADY_EXISTS";
        break;
        case DownloadManager.ERROR_FILE_ERROR:
            failedReason = "ERROR_FILE_ERROR";
        break;
        case DownloadManager.ERROR_HTTP_DATA_ERROR:
            failedReason = "ERROR_HTTP_DATA_ERROR";
        break;
        case DownloadManager.ERROR_INSUFFICIENT_SPACE:
            failedReason = "ERROR_INSUFFICIENT_SPACE";
        break;
        case DownloadManager.ERROR_TOO_MANY_REDIRECTS:
            failedReason = "ERROR_TOO_MANY_REDIRECTS";
        break;
        case DownloadManager.ERROR_UNHANDLED_HTTP_CODE:
            failedReason = "ERROR_UNHANDLED_HTTP_CODE";
        break;
        case DownloadManager.ERROR_UNKNOWN:
            failedReason = "ERROR_UNKNOWN";
        break;
        case 400:
            failedReason = "BAD_REQUEST";
        break;  
        case 401:
            failedReason = "UNAUTHORIZED";
        break;
        case 404:
            failedReason = "NOT_FOUND";
        break;  
        case 500:
            failedReason = "INTERNAL_SERVER_ERROR";
        break;                                                                                                                      
    }                        

    JSONObject obj = new JSONObject(); 
    try {                               
        obj.put("message", "Download failed for reason: #" + reason + " " + failedReason);
        callbackContext.error(obj); 
    } catch (JSONException e) {}                            
}
marob commented 9 years ago

Thanks! Included in 92197f61125399c623bcb0bdcb24d70577f75e99