hunk.code_window: 	}
   	defer fileReader.Close()
   	err = writeFileResponse(info.Name, info.MimeType, info.Size, *c.App.Config().ServiceSettings.WebserverMode, fileReader, forceDownload, w, r)
   	if err != nil {
   		c.Err = err
   		return
   	}
   }
  
hunk.labels: keep keep keep replace keep keep keep keep keep
hunk.after_edit: 	err = writeFileResponse(info.Name, info.MimeType, info.Size, time.Unix(0, info.UpdateAt*int64(1000*1000)), *c.App.Config().ServiceSettings.WebserverMode, fileReader, forceDownload, w, r)
  
hunk.file_path: api4/file.go
hunk.type: replace
file: package ber
  
  import (
  	"errors"
  	"fmt"
  	"io"
  )
  
  func readHeader(reader io.Reader) (identifier Identifier, length int, read int, err error) {
  	if i, c, err := readIdentifier(reader); err != nil {
  		return Identifier{}, 0, read, err
  	} else {
  		identifier = i
  		read += c
  	}
  
  	if l, c, err := readLength(reader); err != nil {
  		return Identifier{}, 0, read, err
  	} else {
  		length = l
  		read += c
  	}
  
  	// Validate length type with identifier (x.600, 8.1.3.2.a)
  	if length == LengthIndefinite && identifier.TagType == TypePrimitive {
  		return Identifier{}, 0, read, errors.New("indefinite length used with primitive type")
  	}
  
  	if length < LengthIndefinite {
  		err = fmt.Errorf("length cannot be less than %d", LengthIndefinite)
  		return
  	}
  
  	return identifier, length, read, nil
  }
  