URI: 
       resources: Add timeout to the HTTP request in Get - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit 93572e53181b5a614c2874bd00b7a38a02de58d3
   DIR parent 94f149b21e0c1d018e72cbea9e7d570785a512e9
  HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Thu,  2 Dec 2021 14:13:24 +0100
       
       resources: Add timeout to the HTTP request in Get
       
       Workaround for https://github.com/golang/go/issues/49366
       
       Diffstat:
         M .gitignore                          |       1 +
         M cache/filecache/filecache_test.go   |       2 +-
         M resources/resource_factories/creat… |       9 +++++++++
         M tpl/data/resources_test.go          |       3 +--
       
       4 files changed, 12 insertions(+), 3 deletions(-)
       ---
   DIR diff --git a/.gitignore b/.gitignore
       @@ -1,6 +1,7 @@
        /hugo
        docs/public*
        /.idea
       +.vscode/*
        hugo.exe
        *.test
        *.prof
   DIR diff --git a/cache/filecache/filecache_test.go b/cache/filecache/filecache_test.go
       @@ -276,7 +276,7 @@ func TestFileCacheReadOrCreateErrorInRead(t *testing.T) {
                        }
                }
        
       -        cache := NewCache(afero.NewMemMapFs(), 100*time.Hour, "")
       +        cache := NewCache(afero.NewMemMapFs(), 100*time.Hour, 0, "")
        
                const id = "a32"
        
   DIR diff --git a/resources/resource_factories/create/create.go b/resources/resource_factories/create/create.go
       @@ -18,6 +18,7 @@ package create
        import (
                "bufio"
                "bytes"
       +        "context"
                "fmt"
                "io"
                "io/ioutil"
       @@ -180,6 +181,14 @@ func (c *Client) FromRemote(uri string, options map[string]interface{}) (resourc
                                }
                                addUserProvidedHeaders(headers, req)
                        }
       +
       +                // Workaround for https://github.com/golang/go/issues/49366
       +                // This is the entire lifetime of the request.
       +                ctx, cancel := context.WithTimeout(req.Context(), 30*time.Second)
       +                defer cancel()
       +
       +                req = req.WithContext(ctx)
       +
                        res, err := c.httpClient.Do(req)
                        if err != nil {
                                return nil, err
   DIR diff --git a/tpl/data/resources_test.go b/tpl/data/resources_test.go
       @@ -34,7 +34,6 @@ import (
                "github.com/gohugoio/hugo/hugofs"
                "github.com/gohugoio/hugo/langs"
                "github.com/spf13/afero"
       -        
        )
        
        func TestScpGetLocal(t *testing.T) {
       @@ -87,7 +86,7 @@ func TestScpGetRemote(t *testing.T) {
                t.Parallel()
                c := qt.New(t)
                fs := new(afero.MemMapFs)
       -        cache := filecache.NewCache(fs, 100, "")
       +        cache := filecache.NewCache(fs, 100, 0, "")
        
                tests := []struct {
                        path    string