B4J Question Even though the filter blocks the request, the job success ist true

schimanski

Well-Known Member
Licensed User
Longtime User
When I try to download a file form my websever with the following code, job.Success is always true, even the filter blocks the request with wrong login-data. Why is the behavior like this? My problem is, that the file in the jobDone-event is written without getting data from the server before and the file will be corrupted. Is it possible to return the success of the job as false?

Client-Code:
B4X:
Sub K_laden
    Dim K As HttpJob
    K.Initialize("K", Me)
    K.Download2(ServerPfad & "/Test/test.txt", Array As String("absender", Absender, "passwort", PasswortServer))
End Sub

Sub JobDone (Job As HttpJob) 
    Select Job.JobName
        Case "K"           
            If Job.Success=True Then
                Dim out As OutputStream
                out=File.OpenOutput(File.DirApp, "Test/test.txt", False)
                File.Copy2(Job.GetInputStream, out)
                out.Close
            Else
                Log("Error loading file!")
            End If
        End Select
End Sub


Server-Code.
B4X:
Public Sub Filter(req As ServletRequest, resp As ServletResponse) As Boolean   
    Dim In As InputStream = req.InputStream   
    Dim absender As String = req.GetParameter("absender")
    Dim passwort As String = req.GetParameter("passwort")   
    Dim Ergebnis As String
    Ergebnis = NutzerDB.CheckCredentials(absender, passwort)
    If Ergebnis <> "Zugriff gewaehrt!" Then
        If Ergebnis.Length=0 Then
            Ergebnis="Unautorisierter Zugriff!"
        End If
        resp.Write(Ergebnis)   
        Return False
    Else
        Return True
    End If
End Sub

Thanks for help...
 
Top