代码拉取完成,页面将自动刷新
package caddyApi
import (
"fmt"
"gitee.com/qimingxing666/caddy-api-module/tools"
"github.com/gin-gonic/gin"
"io/ioutil"
"net/http"
"os"
"strings"
)
// 强制重载配置
func ReloadCaddy(c *gin.Context) error {
url := "http://localhost:2025/load"
// 打开新的配置文件
configFile := "caddy.json"
configData, err := os.ReadFile(configFile)
if err != nil {
c.JSON(500, gin.H{
"code": 500,
"msg": "重载配置-读取配置文件失败",
"data": err.Error(),
})
return err
}
payload := strings.NewReader(string(configData))
// 创建请求
req, err := http.NewRequest("POST", url, payload)
if err != nil {
c.JSON(404, gin.H{
"code": 404,
"msg": "caddy未启动" + err.Error(),
"data": "",
})
return err
}
req.Header.Add("Cache-Control", "must-revalidate")
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Accept", "*/*")
req.Header.Add("Accept-Encoding", "gzip, deflate, br")
req.Header.Add("User-Agent", "PostmanRuntime-ApipostRuntime/1.1.0")
req.Header.Add("Connection", "keep-alive")
// 发送请求
res, err := http.DefaultClient.Do(req)
if err != nil {
c.JSON(404, gin.H{
"code": 404,
"msg": "caddy未启动" + err.Error(),
"data": "",
})
return err
}
defer res.Body.Close()
return nil
}
// GetAndSetConfFile 获取配置,同步给本地caddy.json
func GetAndSetConfFile() string {
url := CaddyUrl + "config"
//req, err := http.NewRequest("GET", url, nil)
//if err != nil {
// return err.Error()
//}
//
//req.Header.Add("Accept", "*/*")
//req.Header.Add("Accept-Encoding", "gzip, deflate, br")
//req.Header.Add("User-Agent", "PostmanRuntime-ApipostRuntime/1.1.0")
//req.Header.Add("Connection", "keep-alive")
//
//res, err := http.DefaultClient.Do(req)
//if err != nil {
// return err.Error()
//}
// defer res.Body.Close()
// 读取响应内容
//body, err := ioutil.ReadAll(res.Body)
//if err != nil {
// fmt.Println("同步配置读取响应失败:", err)
// return err.Error()
//}
body, err := tools.CaddyConfig(url)
if err != nil {
//fmt.Println("同步配置读取响应失败:", err)
return err.Error()
}
// 将配置保存到本地文件
err = ioutil.WriteFile("caddy.json", body, 0644)
if err != nil {
fmt.Println("将配置同步到本地失败:", err)
return err.Error()
}
return ""
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。