gzip

package
v0.0.0-...-fbd76f2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 3, 2022 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package gzip provides helper functions for interacting with gzipped streams.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Is

func Is(r io.Reader) (bool, error)

Is detects whether the input stream is compressed.

func ReadCloser

func ReadCloser(r io.ReadCloser) io.ReadCloser

ReadCloser reads uncompressed input data from the io.ReadCloser and returns an io.ReadCloser from which compressed data may be read. This uses gzip.BestSpeed for the compression level.

func ReadCloserLevel

func ReadCloserLevel(r io.ReadCloser, level int) io.ReadCloser

ReadCloserLevel reads uncompressed input data from the io.ReadCloser and returns an io.ReadCloser from which compressed data may be read. Refer to compress/gzip for the level: https://golang.org/pkg/compress/gzip/#pkg-constants

func UnzipReadCloser

func UnzipReadCloser(r io.ReadCloser) (io.ReadCloser, error)

UnzipReadCloser reads compressed input data from the io.ReadCloser and returns an io.ReadCloser from which uncompessed data may be read.

Types

type PeekReader

type PeekReader interface {
	io.Reader
	Peek(n int) ([]byte, error)
}

PeekReader is an io.Reader that also implements Peek a la bufio.Reader.

func Peek

func Peek(r io.Reader) (bool, PeekReader, error)

Peek detects whether the input stream is gzip compressed.

If r implements Peek, we will use that directly, otherwise a small number of bytes are buffered to Peek at the gzip header, and the returned PeekReader can be used as a replacement for the consumed input io.Reader.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL