compressmidware

package module
v0.0.0-...-d2112b8 Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2017 License: BSD-3-Clause Imports: 3 Imported by: 0

README

Compress Middleware

Build Status GoDoc Coverage Status

Compress middleware for Gem Web framework.

Getting Started

Install

$ go get -u github.com/go-gem/middleware-compress

Compress Levels

  • gzip.DefaultCompression
  • gzip.BestSpeed
  • gzip.BestCompression

Note: the other levels would trigger panic.

Example

package main

import (
	"compress/gzip"
	"log"
	"net/http"
	"os"

	"github.com/go-gem/gem"
	"github.com/go-gem/middleware-compress"
)

func main() {
	compressMidware := compressmidware.New(gzip.BestCompression)

	router := gem.NewRouter()
	router.ServeFiles(
		"/tmp1/*filepath", http.Dir(os.TempDir()),
		&gem.HandlerOption{Middlewares: []gem.Middleware{compressMidware}},
	)
	router.ServeFiles("/tmp2/*filepath", http.Dir(os.TempDir()))

	log.Println(gem.ListenAndServe(":8080", router.Handler()))
}

Documentation

Overview

Package compressmidware is a HTTP middleware that compress response body.

Compress Levels

gzip.DefaultCompression
gzip.BestSpeed
gzip.BestCompression

Example

package main

import (
	"compress/gzip"
	"log"
	"net/http"
	"os"

	"github.com/go-gem/gem"
	"github.com/go-gem/middleware-compress"
)

func main() {
	compressMidware := compressmidware.New(gzip.BestCompression)

	router := gem.NewRouter()
	router.ServeFiles(
		"/tmp1/*filepath", http.Dir(os.TempDir()),
		&gem.HandlerOption{Middlewares: []gem.Middleware{compressMidware}},
	)
	router.ServeFiles("/tmp2/*filepath", http.Dir(os.TempDir()))

	log.Println(gem.ListenAndServe(":8080", router.Handler()))
}

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Compress

type Compress struct {
	// contains filtered or unexported fields
}

Compress is a HTTP middleware that compress the response body.

func New

func New(level int) *Compress

New returns a Compress instance by the given compress level.

Support levels:

gzip.DefaultCompression
gzip.BestSpeed
gzip.BestCompression

an invalid level would trigger panic.

func (*Compress) Wrap

func (c *Compress) Wrap(next gem.Handler) gem.Handler

Wrap implements the Middleware interface.

Jump to

Keyboard shortcuts

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