diff options
author | Unknwon <u@gogs.io> | 2019-10-23 23:03:17 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-23 23:03:17 -0700 |
commit | 613139e7bef81d3573e7988a47eb6765f3de347a (patch) | |
tree | 49de7277898d3ff47a122c072568edb8ed4c9ac9 /vendor/github.com/Unknwon/cae/zip/stream.go | |
parent | fb100dbf98f02e4c631d142ff0f52ec29ee2f00c (diff) |
Enable Go modules (#5835)
* Remove vendor
* Enable Go modules
* ci: add command to fetch dependencies
* ci: update setting
* ci: update settings
* Require Go 1.11
* Rename module name to gogs.io/gogs
Diffstat (limited to 'vendor/github.com/Unknwon/cae/zip/stream.go')
-rw-r--r-- | vendor/github.com/Unknwon/cae/zip/stream.go | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/vendor/github.com/Unknwon/cae/zip/stream.go b/vendor/github.com/Unknwon/cae/zip/stream.go deleted file mode 100644 index 18d8cc22..00000000 --- a/vendor/github.com/Unknwon/cae/zip/stream.go +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2014 Unknown -// -// Licensed under the Apache License, Version 2.0 (the "License"): you may -// not use this file except in compliance with the License. You may obtain -// a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -// License for the specific language governing permissions and limitations -// under the License. - -package zip - -import ( - "archive/zip" - "io" - "os" - "path/filepath" -) - -// A StreamArchive represents a streamable archive. -type StreamArchive struct { - *zip.Writer -} - -// NewStreamArachive returns a new streamable archive with given io.Writer. -// It's caller's responsibility to close io.Writer and streamer after operation. -func NewStreamArachive(w io.Writer) *StreamArchive { - return &StreamArchive{zip.NewWriter(w)} -} - -// StreamFile streams a file or directory entry into StreamArchive. -func (s *StreamArchive) StreamFile(relPath string, fi os.FileInfo, data []byte) error { - if fi.IsDir() { - fh, err := zip.FileInfoHeader(fi) - if err != nil { - return err - } - fh.Name = relPath + "/" - if _, err = s.Writer.CreateHeader(fh); err != nil { - return err - } - } else { - fh, err := zip.FileInfoHeader(fi) - if err != nil { - return err - } - fh.Name = filepath.Join(relPath, fi.Name()) - fh.Method = zip.Deflate - fw, err := s.Writer.CreateHeader(fh) - if err != nil { - return err - } else if _, err = fw.Write(data); err != nil { - return err - } - } - return nil -} - -// StreamReader streams data from io.Reader to StreamArchive. -func (s *StreamArchive) StreamReader(relPath string, fi os.FileInfo, r io.Reader) (err error) { - fh, err := zip.FileInfoHeader(fi) - if err != nil { - return err - } - fh.Name = filepath.Join(relPath, fi.Name()) - - fw, err := s.Writer.CreateHeader(fh) - if err != nil { - return err - } - _, err = io.Copy(fw, r) - return err -} |