Как исправить ошибку cors в golang?

Пользователь

от ottilie.farrell , в категории: Golang , 8 месяцев назад

Как исправить ошибку cors в golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от kameron , 8 месяцев назад

@ottilie.farrell 

Для исправления ошибки CORS (Cross-Origin Resource Sharing) в Golang, вы можете использовать стандартный пакет "net/http". Вот пример кода, который включает заголовки CORS для всех запросов:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package main

import (
	"net/http"
)

func main() {
	mux := http.NewServeMux()

	mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		// Добавляем заголовки CORS
		w.Header().Set("Access-Control-Allow-Origin", "*")
		w.Header().Set("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE")
		w.Header().Set("Access-Control-Allow-Headers", "Content-Type, Authorization")

		// Обработка запроса
		// ...

		// Возвращаем ответ
		w.WriteHeader(http.StatusOK)
		w.Write([]byte("Пример успешного запроса"))
	})

	// Запуск сервера
	http.ListenAndServe(":8080", mux)
}


В приведенном выше примере для всех запросов добавляются заголовки Access-Control-Allow-Origin, Access-Control-Allow-Methods и Access-Control-Allow-Headers. Значение "*" в Access-Control-Allow-Origin позволяет запросам с любого домена. Если вы хотите ограничить доступ только для определенных доменов, вы можете указать их вместо "*".