Skip to content

Commit 7ecb8c3

Browse files
committed
Added support for experiments
1 parent 7a9f95f commit 7ecb8c3

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.idea/

jsend.go

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,10 @@ const (
7373
)
7474

7575
const (
76-
fieldMsg = "message"
77-
fieldData = "data"
78-
fieldStatus = "status"
76+
fieldMsg = "message"
77+
fieldData = "data"
78+
fieldStatus = "status"
79+
fieldExperiments = "experiments"
7980
)
8081

8182
// Wrap wraps given http.ResponseWriter and returns a response object which
@@ -102,6 +103,8 @@ type JResponseWriter interface {
102103

103104
Data(interface{}) JResponseWriter
104105

106+
Experiments(interface{}) JResponseWriter
107+
105108
Message(string) JResponseWriter
106109

107110
Status(int) JResponseWriter
@@ -134,6 +137,11 @@ func (r *Response) Data(data interface{}) JResponseWriter {
134137
return r.Field(fieldData, data)
135138
}
136139

140+
// Data sets response's "data" field with given value.
141+
func (r *Response) Experiments(experiments interface{}) JResponseWriter {
142+
return r.Field(fieldExperiments, experiments)
143+
}
144+
137145
// Message sets response's "message" field with given value.
138146
func (r *Response) Message(msg string) JResponseWriter {
139147
return r.Field(fieldMsg, msg)
@@ -190,6 +198,10 @@ func (r *Response) Send() (int, error) {
190198
r.Data([]byte(nil))
191199
}
192200

201+
if _, hasExperiments := r.fields[fieldExperiments]; !hasExperiments {
202+
r.Experiments([]byte(nil))
203+
}
204+
193205
j, err := json.Marshal(r.fields)
194206
r.Header().Set("Content-Length", strconv.Itoa(len(j)))
195207

0 commit comments

Comments
 (0)