秋栈博客

七月

Hello Halo

2023-11-29
Hello Halo

如果你看到了这一篇文章,那么证明你已经安装成功了,感谢使用 Halo 进行创作,希望能够使用愉快。

相关链接

在使用过程中,有任何问题都可以通过以上链接找寻答案,或者联系我们。

这是一篇自动生成的文章,请删除这篇文章之后开始你的创作吧!

package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io"
    "log"
    "net/http"
)

func main() {
    address := "0.0.0.0:8080"
    http.HandleFunc("/webhook", handleWebhook)
    err := http.ListenAndServe(address, nil)
    if err != nil {
        log.Fatal(err)
    }
}

func handleWebhook(w http.ResponseWriter, r *http.Request) {
    if r.Method != http.MethodPost {
        w.WriteHeader(http.StatusMethodNotAllowed)
        return
    }

    body, err := io.ReadAll(r.Body)
    if err != nil {
        fmt.Println("Read body error: ", err)
        w.WriteHeader(http.StatusInternalServerError)
    }

    fmt.Println("====================Webhook Start====================")
    var prettyJSON bytes.Buffer
    _ = json.Indent(&prettyJSON, []byte(body), "", "  ")
    if err != nil {
        fmt.Println("JSON parse error: ", err)
    }
    fmt.Println(prettyJSON.String())
    fmt.Println("====================Webhook End====================")

    w.WriteHeader(http.StatusOK)
    w.Write([]byte("Webhook Received Successfully"))
}

  • 2