caddy/caddyhttp/push/push.go
Mateusz Gajewski cdf7cf5c3f HTTP/2 push support (golang 1.8) (#1215)
* WIP

* HTTP2/Push for golang 1.8

* Push plugin completed for review

* Correct build tag

* Move push plugin position

* Add build tags to tests

* Gofmt that code

* Add header/method validations

* Load push plugin

* Fixes for wrapping writers

* Push after delivering file

* Fixes, review changes

* Remove build tags, support new syntax

* Fix spelling

* gofmt -s -w .

* Gogland time

* Add interface guards

* gofmt

* After review fixes
2017-02-17 09:25:22 -07:00

31 lines
486 B
Go

package push
import (
"net/http"
"github.com/mholt/caddy/caddyhttp/httpserver"
)
type (
// Rule describes conditions on which resources will be pushed
Rule struct {
Path string
Resources []Resource
}
// Resource describes resource to be pushed
Resource struct {
Path string
Method string
Header http.Header
}
// Middleware supports pushing resources to clients
Middleware struct {
Next httpserver.Handler
Rules []Rule
}
ruleOp func([]Resource)
)