Skip to content

Commit 611751f

Browse files
committed
Add write only endpoint to support union tests.
1 parent 90143c0 commit 611751f

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

cmd/server/main.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ func main() {
3232
r.HandleFunc("/optional", acceptHeaders.HandleAcceptHeaderMultiplexing).Methods(http.MethodGet)
3333
r.HandleFunc("/readonlyorwriteonly", readonlywriteonly.HandleReadOrWrite).Methods(http.MethodPost)
3434
r.HandleFunc("/readonlyandwriteonly", readonlywriteonly.HandleReadAndWrite).Methods(http.MethodPost)
35+
r.HandleFunc("/writeonlyoutput", readonlywriteonly.HandleWriteOnlyOutput).Methods(http.MethodPost)
3536

3637
log.Println("Listening on :8080")
3738
if err := http.ListenAndServe(":8080", r); err != nil {

internal/readonlywriteonly/service.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ type BasicObject struct {
1414
Num float64 `json:"num"`
1515
}
1616

17+
type WriteOnlyOutputObject struct {}
18+
1719
type InputObject struct {
1820
Num1 int64 `json:"num1"`
1921
Num2 int64 `json:"num2"`
@@ -73,3 +75,23 @@ func HandleReadAndWrite(w http.ResponseWriter, r *http.Request) {
7375
utils.HandleError(w, err)
7476
}
7577
}
78+
79+
func HandleWriteOnlyOutput(w http.ResponseWriter, r *http.Request) {
80+
body, err := io.ReadAll(r.Body)
81+
if err != nil {
82+
utils.HandleError(w, err)
83+
return
84+
}
85+
86+
var req InputObject
87+
if err := json.Unmarshal(body, &req); err != nil {
88+
utils.HandleError(w, err)
89+
return
90+
}
91+
92+
w.Header().Set("Content-Type", "application/json; charset=UTF-8")
93+
94+
if err := json.NewEncoder(w).Encode(WriteOnlyOutputObject{}); err != nil {
95+
utils.HandleError(w, err)
96+
}
97+
}

0 commit comments

Comments
 (0)