Giter Club home page Giter Club logo

Comments (4)

martijnthe avatar martijnthe commented on May 30, 2024

My solution wasn't complete. At line 2533 I added [self needsRedirect] == NO:

if ([self temporaryFileDownloadPath] && [self needsRedirect] == NO) {
    [[self fileDownloadOutputStream] close];

To prevent the stream from being closed in case the request is being redirected.

from asi-http-request.

pokeb avatar pokeb commented on May 30, 2024

Hi Martijn

I've finally got around to making some changes here, when automatic redirect is on and you are resuming, it should ignore the body of the redirecting response.

Best

Ben

from asi-http-request.

pokeb avatar pokeb commented on May 30, 2024

I think this is probably resolved, will close.

from asi-http-request.

franqueli avatar franqueli commented on May 30, 2024

Why are we ignoring the body of the redirecting response only if we a resuming? We're running into an issue where we make a request for a file to download. Our initial request just hits a server that redirects to the url for the file. We then check if a file exists at the specified download path to know if we need to request again or if we're done. This works fine except in one scenario. We've using an ASINetworkQueue to batch related downloads. If our app is going to terminate we kill the queue by calling cancelAlOperations. If we don't specify resuming in the request then we get a callback telling us the queue has finished and when we check the filesystem we see a file in the specified download path. This file just has the contents of the redirect. The file is placed there by the call to [ASIDataDecompressor uncompressDataFromFile: toFile: in the handleStreamComplete method of ASIHTTPRequest

  • (void)handleStreamComplete
    ....
    if ([self shouldRedirect] && [self needsRedirect] && [self allowResumeForFileDownloads]) {

    } else if ([self isResponseCompressed]) {
    
        // Decompress the file directly to the destination path
        if ([self shouldWaitToInflateCompressedResponses]) {
            [ASIDataDecompressor uncompressDataFromFile:[self temporaryFileDownloadPath] toFile:[self downloadDestinationPath] error:&fileError];
    

from asi-http-request.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.