* More sensical CORSMethodMiddleware * Only sets Access-Control-Allow-Methods on valid preflight requests * Does not return after setting the Access-Control-Allow-Methods header * Does not append OPTIONS header to Access-Control-Allow-Methods regardless of whether there is an OPTIONS method matcher * Adds tests for the listed behavior * Add example for CORSMethodMiddleware * Do not check for preflight and add documentation to the README * Use http.MethodOptions instead of "OPTIONS" * Add link to CORSMethodMiddleware section to readme * Add test for unmatching route methods * Rename CORS Method Middleware to Handling CORS Requests in README * Link CORSMethodMiddleware in README to godoc * Break CORSMethodMiddleware doc into bullets for readability * Add comment about specifying OPTIONS to example in README for CORSMethodMiddleware * Document cURL command used for testing CORS Method Middleware * Update comment in example to "Handle the request" * Add explicit comment about OPTIONS matchers to CORSMethodMiddleware doc * Update circleci config to only check gofmt diff on latest go version * Break up gofmt and go vet checks into separate steps. * Use canonical circleci config
76 lines
1.4 KiB
YAML
76 lines
1.4 KiB
YAML
version: 2.0
|
|
|
|
jobs:
|
|
# Base test configuration for Go library tests Each distinct version should
|
|
# inherit this base, and override (at least) the container image used.
|
|
"test": &test
|
|
docker:
|
|
- image: circleci/golang:latest
|
|
working_directory: /go/src/github.com/gorilla/mux
|
|
steps: &steps
|
|
- checkout
|
|
- run: go version
|
|
- run: go get -t -v ./...
|
|
# Only run gofmt, vet & lint against the latest Go version
|
|
- run: >
|
|
if [[ "$LATEST" = true ]]; then
|
|
go get -u golang.org/x/lint/golint
|
|
golint ./...
|
|
fi
|
|
- run: >
|
|
if [[ "$LATEST" = true ]]; then
|
|
diff -u <(echo -n) <(gofmt -d .)
|
|
fi
|
|
- run: >
|
|
if [[ "$LATEST" = true ]]; then
|
|
go vet -v .
|
|
fi
|
|
- run: go test -v -race ./...
|
|
|
|
"latest":
|
|
<<: *test
|
|
environment:
|
|
LATEST: true
|
|
|
|
"1.12":
|
|
<<: *test
|
|
docker:
|
|
- image: circleci/golang:1.12
|
|
|
|
"1.11":
|
|
<<: *test
|
|
docker:
|
|
- image: circleci/golang:1.11
|
|
|
|
"1.10":
|
|
<<: *test
|
|
docker:
|
|
- image: circleci/golang:1.10
|
|
|
|
"1.9":
|
|
<<: *test
|
|
docker:
|
|
- image: circleci/golang:1.9
|
|
|
|
"1.8":
|
|
<<: *test
|
|
docker:
|
|
- image: circleci/golang:1.8
|
|
|
|
"1.7":
|
|
<<: *test
|
|
docker:
|
|
- image: circleci/golang:1.7
|
|
|
|
workflows:
|
|
version: 2
|
|
build:
|
|
jobs:
|
|
- "latest"
|
|
- "1.12"
|
|
- "1.11"
|
|
- "1.10"
|
|
- "1.9"
|
|
- "1.8"
|
|
- "1.7"
|