[過去ログ]
Go language part 3 (1002レス)
Go language part 3 http://mevius.5ch.net/test/read.cgi/tech/1571315884/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
533: デフォルトの名無しさん [] 2020/05/16(土) 21:30:32.48 ID:e+rgeli+ 最終的に func (i *rInst) ParseForm() error { v := i.request.Header.Get("Content-Type") if v == "" { return i.request.ParseForm() } else { return i.request.ParseMultipartForm(100 * 1024) } } とすることにした http://mevius.5ch.net/test/read.cgi/tech/1571315884/533
534: デフォルトの名無しさん [sage] 2020/05/17(日) 07:48:09.08 ID:8deP89zB >>532 > としても、ParseForm内で分岐させない理由にはなってないと思っちゃうんだけど、それについては? そもそもParseFormがリクエストのパース処理を包括したラッパー関数だと何処で勘違いしたの? なぜそこまで頑なにRequest-MethodとContent-Typeの値で分岐しようとしないの? (Content-Typeの値の有無だけ確認して分岐したって言うのは無しよ) >>533のあなたの最終的な実装を見るとあなたはContent-TypeとParseFormとParseMultipartFormを理解して使って無いの、何となく動くからってやっつけで実装したようにしか見えないの。 http://mevius.5ch.net/test/read.cgi/tech/1571315884/534
535: デフォルトの名無しさん [sage] 2020/05/17(日) 07:48:39.85 ID:8deP89zB >>533 あなたの最終的な実装を元にして実装するならこんな感じかな(勝ってに拡張しちゃってるけど) func (i *rInst) ParseForm() error { var err error r := i.request ct := r.Header.Get("Content-Type") ct, _, err = mime.ParseMediaType(ct) if err == nil { switch ct { case "multipart/form-data": if r.Method == "POST" { err = r.ParseMultipartForm(100 * 1024) } else { err = errors.New(“invalid request”) } case “application/json”: d := json.NewDecoder(r.Body) // i.Json = make(map[string]interface{}) i.Json = &BindStructure{} err = d.Decode(&i.Json) default: err = r.ParseForm() } } return err } まぁ、頑張って。 http://mevius.5ch.net/test/read.cgi/tech/1571315884/535
539: デフォルトの名無しさん [sage] 2020/05/17(日) 08:10:55.71 ID:8deP89zB 寝ぼけてるぽい、もう一回上げ直し >>533 あなたの最終的な実装を元にして実装するならこんな感じかな(勝ってに拡張しちゃってるけど) func (i *rInst) ParseForm() error { var err error r := i.request ct := r.Header.Get("Content-Type") ct, _, err = mime.ParseMediaType(ct) if err == nil { switch ct { case "multipart/form-data": if r.Method == "POST" { err = r.ParseMultipartForm(100 * 1024) } else { err = errors.New(“invalid request”) } case “application/json”: d := json.NewDecoder(r.Body) // i.Json = make(map[string]interface{}) // err = d.Decode(&i.Json) i.Json = &BindStructure{} err = d.Decode(i.Json) default: err = r.ParseForm() } } return err } http://mevius.5ch.net/test/read.cgi/tech/1571315884/539
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.035s