static

package module
v0.0.0-...-5596d9a Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2014 License: BSD-2-Clause Imports: 8 Imported by: 1

README

static wercker status Go Walker

static file Handler, support gzip precompression

静态文件输出, 支持 gzip 预压缩

规则

  • 文件不存在直接返回, 不产生 NotFound
  • 请求 Method 必须是 GET/HEAD
  • Martini 下请预先把站点根路径用 Map(http.Dir(baseDirOfSite)) 准备好.
  • 如果 baseDirOfSite 为 "" 直接返回
  • 如果 URL.Path 不是目录直接返回
  • 如果 URL.Path 以 "/index.html" 结尾, 301 到 "./"
  • 如果 URL.Path 是目录且不以 "/" 结尾, 301 到 "./"
  • 如果 URL.Path 是目录, 自动查找 index.html 索引
  • 如果 已经设置 "Content-Encoding" 不进行 gzip
  • gzip 预压缩, 扩展名为 .gz, 预置 .css, .html, .js 类型 charset 为 utf-8.

License

BSD-2-Clause

Documentation

Overview

static file Handler, support gzip precompression. 已经设定预压缩类型: .css, .htm, .html, .js

Index

Constants

View Source
const (
	FIgnoreEmptyExt = 1 << iota
	FDirList
	FDirRedirect
)

Variables

This section is empty.

Functions

func GzipPrecompressionExt

func GzipPrecompressionExt(exts ...string) error

* GzipPrecompressionExt 设定为扩展名为 ext 的文件提供预压缩输出支持. 非并发安全, 适合初始化阶段调用. 举例:

mime.AddExtensionType(".pdf", "application/pdf")
mime.AddExtensionType(".xml", "text/xml; charset=utf-8")
mime.AddExtensionType(".atom", "application/atom+xml; charset=utf-8")
mime.AddExtensionType(".rss", "application/rss+xml; charset=utf-8")
GzipPrecompressionExt(".pdf", ".xml", ".atom", ".rss")

func Handler

func Handler(flag int) func(res http.ResponseWriter, req *http.Request, dir http.Dir)

* Handler 对静态文件进行发送, 支持 Gzip 预压缩文件. 拒绝点文件, "_" 开头文件和非法 URL.Path. 忽略 dir =="" , req.Method 不是 "GET" 或 "HEAD". 如果 URL.Path 以 "/index.html" 结尾, 301 重定向到 "./". 如果 URL.Path 以 "/" 结尾, 当作 "./index.html" 处理. 如果 URL.Path 已设定预压缩类型, 尝试发送压缩文件或原文件. 如果 URL.Path 是文件尝试发送. 尝试失败不做处理. flag: 取值和优先级:

FIgnoreEmptyExt
	如果 URL.Path 没有扩展名, 忽略.
FDirList
	允许目录列表
FDirRedirect
	如果 URL.Path 是目录并且非"/"结尾, 301 重定向到 "./".

Types

This section is empty.

Jump to

Keyboard shortcuts

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