HiveBrain v1.2.0
Get Started
← Back to all entries
patterngoCritical

Setting HTTP headers

Submitted by: @import:stackoverflow-api··
0
Viewed 0 times
settinghttpheaders

Problem

I'm trying to set a header in my Go web server. I'm using gorilla/mux and net/http packages.

I'd like to set Access-Control-Allow-Origin: * to allow cross domain AJAX.

Here's my Go code:

func saveHandler(w http.ResponseWriter, r *http.Request) {
// do some stuff with the request data
}

func main() {
    r := mux.NewRouter()
    r.HandleFunc("/save", saveHandler)
    http.Handle("/", r)
    http.ListenAndServe(":"+port, nil)
}


The net/http package has documentation describing sending http request headers as if it were a client - I'm not exactly sure how to set response headers?

Solution

Never mind, I figured it out - I used the Set() method on Header() (doh!)

My handler looks like this now:

func saveHandler(w http.ResponseWriter, r *http.Request) {
    // allow cross domain AJAX requests
    w.Header().Set("Access-Control-Allow-Origin", "*")
}


Maybe this will help someone as caffeine deprived as myself sometime :)

Code Snippets

func saveHandler(w http.ResponseWriter, r *http.Request) {
    // allow cross domain AJAX requests
    w.Header().Set("Access-Control-Allow-Origin", "*")
}

Context

Stack Overflow Q#12830095, score: 262

Revisions (0)

No revisions yet.