1 Star 0 Fork 0

rocket049/content-receiver

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
server.go 1.14 KB
一键复制 编辑 原始数据 按行查看 历史
rocket049 提交于 2024-11-29 16:54 +08:00 . 增强功能
package main
import (
"encoding/json"
"fmt"
"io"
"io/ioutil"
"log"
"net"
"net/http"
"os"
"time"
)
type ContentData struct {
Content string `json:content`
}
func main() {
l, err := net.Listen("tcp4", "localhost:8080")
if err != nil {
panic(err)
}
num := 1
prefix := time.Now().Format("20060102150405")
http.HandleFunc("/content", func(w http.ResponseWriter, r *http.Request) {
log.Println("POST /content")
data, err := io.ReadAll(r.Body)
if err != nil {
w.WriteHeader(404)
log.Println("read body nil")
return
}
content := ContentData{}
err = json.Unmarshal(data, &content)
if err != nil {
w.WriteHeader(404)
log.Println("json body format error:")
os.Stdout.Write(data)
log.Println("==end==")
return
}
name := fmt.Sprintf("%v-%04d.txt", prefix, num)
num++
ioutil.WriteFile(name, []byte(content.Content+"\n\n"), 0644)
log.Println("save ", name)
w.WriteHeader(200)
})
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
log.Println("POST /")
w.WriteHeader(200)
})
fmt.Println("start server at localhost:8080")
err = http.Serve(l, nil)
if err != nil {
panic(err)
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/rocket049/content-receiver.git
git@gitee.com:rocket049/content-receiver.git
rocket049
content-receiver
content-receiver
master

搜索帮助