-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocument_update.go
65 lines (56 loc) · 2.04 KB
/
document_update.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package couchdb
// // DocumentUpdateRequest defines the document create request.
// type DocumentUpdateRequest struct {
// document *DocumentRef
// id string
// doc Document
// ctx context.Context
// revision string
// }
// // WithContext adds a context to the request.
// func (dur *DocumentUpdateRequest) WithContext(ctx context.Context) *DocumentUpdateRequest {
// dur.ctx = ctx
// return dur
// }
// // WithRevision adds a revision to the request.
// func (dur *DocumentUpdateRequest) WithRevision(revision string) *DocumentUpdateRequest {
// dur.revision = revision
// return dur
// }
// // Do performs the request.
// func (dur *DocumentUpdateRequest) Do() (*DocumentUpdateResponse, error) {
// buffer := bytes.Buffer{}
// if err := json.NewEncoder(&buffer).Encode(dur.doc); err != nil {
// return nil, errx.Annotatef(err, "json encode")
// }
// request, err := dur.document.database.client.requestFor(dur.ctx, &buffer, http.MethodPut, dur.document.database.name, dur.id)
// if err != nil {
// return nil, err
// }
// request.Header.Set("Content-Type", MimeTypeJSON)
// request.Header.Set("Accept", MimeTypeJSON)
// if dur.revision != "" {
// request.Header.Set("If-Match", dur.revision)
// }
// response, err := dur.document.database.client.do(request)
// if err != nil {
// return nil, errx.Annotatef(err, "request [%s] [%s]", request.Method, request.URL)
// }
// defer response.Body.Close()
// r := &DocumentUpdateResponse{}
// if err := json.NewDecoder(response.Body).Decode(r); err != nil {
// return nil, errx.Annotatef(err, "json decode")
// }
// if err := evaluateResponseStatus(response.StatusCode, "",
// http.StatusCreated, http.StatusAccepted,
// http.StatusBadRequest, http.StatusUnauthorized, http.StatusNotFound, http.StatusConflict); err != nil {
// return r, err
// }
// return r, nil
// }
// // DocumentUpdateResponse defines the document create response.
// type DocumentUpdateResponse struct {
// OK bool `json:"ok"`
// ID string `json:"id"`
// Revision string `json:"rev"`
// }