Commit e3810b59 authored by Yunkai Zhang's avatar Yunkai Zhang

Fix regression caused by commit ad654793

Commit ad654793 will cause "Method Not Allow" in preflight response
when enable CORS plugin.

The root cause is that CORS plugin didn't generate http output after applied
commit ad654793, so the value of `ctx.ResponseWriter.Started` will be keep
`false`, and then later filter chains will be go on to run when CORS filter
finished.

This path will both fix "Method Not Allow" and the original bug
"multiple response.WriteHeader calls".
Signed-off-by: 's avatarYunkai Zhang <qiushu.zyk@taobao.com>
parent 23bb36d3
......@@ -36,6 +36,7 @@
package cors
import (
"net/http"
"regexp"
"strconv"
"strings"
......@@ -215,6 +216,7 @@ func Allow(opts *Options) beego.FilterFunc {
for key, value := range headers {
ctx.Output.Header(key, value)
}
ctx.ResponseWriter.WriteHeader(http.StatusOK)
return
}
headers = opts.Header(origin)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment