From 5a44644d17bf8ea842807158abecc046eaaa51db Mon Sep 17 00:00:00 2001 From: garritfra Date: Wed, 6 Mar 2019 18:06:20 +0100 Subject: [PATCH] Add CORS Header --- server/webserver.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/server/webserver.go b/server/webserver.go index 26841bd..972c9e8 100644 --- a/server/webserver.go +++ b/server/webserver.go @@ -57,16 +57,23 @@ func registerRouteHandlers() { http.HandleFunc("/add_peers", handleAddPeers) } +func enableCors(w *http.ResponseWriter) { + (*w).Header().Set("Access-Control-Allow-Origin", "*") +} + func handleError(err error, w http.ResponseWriter, r *http.Request) { + enableCors(&w) w.Write([]byte("Error: " + err.Error())) log.Print(err.Error()) } func handleListBlocks(w http.ResponseWriter, r *http.Request) { + enableCors(&w) json.NewEncoder(w).Encode(blockchain.AsJSON()) } func handleAddTransaction(w http.ResponseWriter, r *http.Request) { + enableCors(&w) decoder := json.NewDecoder(r.Body) var receivedTransaction core.Transaction err := decoder.Decode(&receivedTransaction) @@ -80,21 +87,25 @@ func handleAddTransaction(w http.ResponseWriter, r *http.Request) { } func handleMineBlock(w http.ResponseWriter, r *http.Request) { + enableCors(&w) block := blockchain.MineBlock() json.NewEncoder(w).Encode(block) } func handleListPendingTransactions(w http.ResponseWriter, r *http.Request) { + enableCors(&w) json.NewEncoder(w).Encode(blockchain.PendingTransactions) } func handleIsValid(w http.ResponseWriter, r *http.Request) { + enableCors(&w) valid := blockchain.IsValid() json.NewEncoder(w).Encode(valid) } // Takes an a string-slice, and adds it to the known peers func handleAddPeers(w http.ResponseWriter, r *http.Request) { + enableCors(&w) decoder := json.NewDecoder(r.Body) var receivedPeers []string err := decoder.Decode(&receivedPeers) @@ -114,5 +125,6 @@ func handleAddPeers(w http.ResponseWriter, r *http.Request) { } func handleUpdate(w http.ResponseWriter, r *http.Request) { + enableCors(&w) json.NewEncoder(w).Encode(blockchain.Update()) }