Skip to content

Commit

Permalink
fix: Etag && do not fatal
Browse files Browse the repository at this point in the history
  • Loading branch information
j1g5awi committed Apr 9, 2022
1 parent f98c562 commit 168c21d
Showing 1 changed file with 72 additions and 34 deletions.
106 changes: 72 additions & 34 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,8 @@ func initConfig() {
func verifyHandle(w http.ResponseWriter, r *http.Request) {
err := r.ParseForm()
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
result, err := json.Marshal(struct {
Code int `json:"code"`
Expand All @@ -124,12 +125,14 @@ func verifyHandle(w http.ResponseWriter, r *http.Request) {
Status: "same",
})
if err != nil {
log.Fatal(err)
log.Println(err)
return
}

_, err = w.Write(result)
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
log.Println("verify success")
}
Expand All @@ -144,11 +147,13 @@ func configHandle(w http.ResponseWriter, r *http.Request) {
// 规避标准库大小限制
b, err := io.ReadAll(r.Body)
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
vs, err := url.ParseQuery(string(b))
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
r.Form = make(url.Values)
for k, vs := range vs {
Expand All @@ -158,19 +163,22 @@ func configHandle(w http.ResponseWriter, r *http.Request) {
if data := r.Form.Get("config"); data != "" {
err := ioutil.WriteFile(filepath.Join(syncPath, "simpread_config.json"), []byte(data), 0644)
if err != nil {
log.Fatal(err)
log.Println(err)
return
}

result, err := json.Marshal(struct {
Status int `json:"status"`
}{Status: 200})
if err != nil {
log.Fatal(err)
log.Println(err)
return
}

_, err = w.Write(result)
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
log.Println("sync config from browser")
} else {
Expand All @@ -180,11 +188,14 @@ func configHandle(w http.ResponseWriter, r *http.Request) {
return
} else {
isSecond = false
// 返回了个 etag 骗缓存
w.Header().Add("Etag", "etag")
}

config, err := ioutil.ReadFile(filepath.Join(syncPath, "simpread_config.json"))
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
result, err := json.Marshal(struct {
Status int `json:"status"`
Expand All @@ -194,12 +205,14 @@ func configHandle(w http.ResponseWriter, r *http.Request) {
Result: string(config),
})
if err != nil {
log.Fatal(err)
log.Println(err)
return
}

_, err = w.Write(result)
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
log.Println("sync config from local")
}
Expand All @@ -210,12 +223,14 @@ func configHandle(w http.ResponseWriter, r *http.Request) {
Status: "error",
})
if err != nil {
log.Fatal(err)
log.Println(err)
return
}

_, err = w.Write(result)
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
}
}
Expand All @@ -225,26 +240,30 @@ func plainHandle(w http.ResponseWriter, r *http.Request) {

err := r.ParseForm()
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
title := r.Form.Get("title")
content := r.Form.Get("content")

err = ioutil.WriteFile(filepath.Join(outputPath, title), []byte(content), 0644)
if err != nil {
log.Fatal(err)
log.Println(err)
return
}

result, err := json.Marshal(struct {
Status int `json:"status"`
}{Status: 200})
if err != nil {
log.Fatal(err)
log.Println(err)
return
}

_, err = w.Write(result)
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
log.Printf("save file: %s\n", title)
}
Expand All @@ -253,7 +272,8 @@ func mailHandle(w http.ResponseWriter, r *http.Request) {
w.Header().Set("content-type", "application/json")
err := r.ParseForm()
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
// 这里偷懒直接替换文本
title := strings.ReplaceAll(mailTitle, "{{ title }}", r.Form.Get("title"))
Expand Down Expand Up @@ -281,7 +301,8 @@ func mailHandle(w http.ResponseWriter, r *http.Request) {

err = gomail.Send(s, m)
if err != nil {
log.Fatal(err)
log.Println(err)
return
}

if attach != "" {
Expand All @@ -292,12 +313,14 @@ func mailHandle(w http.ResponseWriter, r *http.Request) {
Status int `json:"status"`
}{Status: 200})
if err != nil {
log.Fatal(err)
log.Println(err)
return
}

_, err = w.Write(result)
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
log.Printf("send mail: %s\n", title)
}
Expand All @@ -306,7 +329,8 @@ func convertHandle(w http.ResponseWriter, r *http.Request) {
w.Header().Set("content-type", "application/json")
err := r.ParseForm()
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
title := r.Form.Get("title")
content := r.Form.Get("content")
Expand All @@ -315,7 +339,8 @@ func convertHandle(w http.ResponseWriter, r *http.Request) {

err = ioutil.WriteFile("tmp-"+title+"."+in, []byte(content), 0644)
if err != nil {
log.Fatal(err)
log.Println(err)
return
}

pandoc := "pandoc"
Expand All @@ -326,12 +351,14 @@ func convertHandle(w http.ResponseWriter, r *http.Request) {

err = cmd.Start()
if err != nil {
log.Fatal(err)
log.Println(err)
return
}

err = cmd.Wait()
if err != nil {
log.Fatal(err)
log.Println(err)
return
}

os.Remove("tmp-" + title + "." + in)
Expand All @@ -340,26 +367,30 @@ func convertHandle(w http.ResponseWriter, r *http.Request) {
Status int `json:"status"`
}{Status: 200})
if err != nil {
log.Fatal(err)
log.Println(err)
return
}

_, err = w.Write(result)
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
log.Printf("convert file: %s\n", title)
}

func readingHandle(w http.ResponseWriter, r *http.Request) {
err := r.ParseForm()
if err != nil {
log.Fatal(err)
log.Println(err)
return
}

var files []string
fileInfo, err := ioutil.ReadDir(outputPath)
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
for _, file := range fileInfo {
if !file.IsDir() {
Expand All @@ -374,12 +405,15 @@ func readingHandle(w http.ResponseWriter, r *http.Request) {
Files []string `json:"files"`
}{Files: files})
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
log.Println("reading index")
} else {
id := strings.Replace(r.URL.Path, "/reading/", "", 1)
if err != nil {
log.Fatal(err)
log.Println(err)
return
}

query := r.URL.Query().Get("title")
Expand All @@ -403,23 +437,27 @@ func readingHandle(w http.ResponseWriter, r *http.Request) {
if title != "" {
result, err = ioutil.ReadFile(filepath.Join(outputPath, title))
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
log.Println("reading file ", title)
} else {
w.Header().Set("content-type", "application/json")
result, err = json.Marshal(struct {
Code int `json:"code"`
Message string `json:"message"`
}{Code: 404, Message: "没有找到对应的内容"})
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
}
}

_, err = w.Write(result)
if err != nil {
log.Fatal(err)
log.Println(err)
return
}
}

Expand Down

0 comments on commit 168c21d

Please sign in to comment.