package
module
Version:
v0.2.3
Opens a new window with list of versions in this module.
Published: Nov 13, 2016
License: MIT
Opens a new window with license information.
Imports: 3
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
¶
Uncomplicated HTTP server, supports HTTP/2 and auto TLS
Armor is written in Go. It is based on the upcoming Echo v3.
What can it do today?
- Serve HTTP/2
- Automatically install TLS certificates from https://letsencrypt.org
- Proxy HTTP and WebSocket requests
- Define virtual hosts with path level routing
- Graceful shutdown
- Limit request body
- Serve static files
- Log requests
- Gzip response
- Cross-origin Resource Sharing (CORS)
- Security
- XSSProtection
- ContentTypeNosniff
- ContentSecurityPolicy
- HTTP Strict Transport Security (HSTS)
- Add / Remove trailing slash from the URL with option to redirect
- Redirect requests
- http to https
- http to https www
- http to https non www
- non www to www
- www to non www
Most of the functionality is implemented via Plugin
interface which makes writing
a custom plugin super easy.
What's on the roadmap?
- Website
- Code coverage
- Test cases
Documentation
¶
type Host struct {
Name string `json:"-"`
CertFile string `json:"cert_file"`
KeyFile string `json:"key_file"`
Plugins []Plugin `json:"plugins"`
Paths map[string]*Path `json:"paths"`
Echo *echo.Echo `json:"-"`
}
type Path struct {
Plugins []Plugin `json:"plugins"`
}
type Plugin map[string]interface{}
type TLS struct {
Address string `json:"address"`
CertFile string `json:"cert_file"`
KeyFile string `json:"key_file"`
Auto bool `json:"auto"`
CacheFile string `json:"cache_file"`
}
Source Files
¶
Directories
¶
cmd
|
|
|
|
|
|
package plugin is a generated protocol buffer package.
|
package plugin is a generated protocol buffer package. |
Click to show internal directories.
Click to hide internal directories.