github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/courier/client/client_demo/client__generated.go (about) 1 package client_demo 2 3 import ( 4 "fmt" 5 mime_multipart "mime/multipart" 6 7 golib_tools_courier "github.com/artisanhe/tools/courier" 8 golib_tools_courier_client "github.com/artisanhe/tools/courier/client" 9 golib_tools_courier_status_error "github.com/artisanhe/tools/courier/status_error" 10 ) 11 12 type ClientDemoInterface interface { 13 Create(req CreateRequest, metas ...golib_tools_courier.Metadata) (resp *CreateResponse, err error) 14 FileDownload(metas ...golib_tools_courier.Metadata) (resp *FileDownloadResponse, err error) 15 FormMultipartWithFile(req FormMultipartWithFileRequest, metas ...golib_tools_courier.Metadata) (resp *FormMultipartWithFileResponse, err error) 16 FormMultipartWithFiles(req FormMultipartWithFilesRequest, metas ...golib_tools_courier.Metadata) (resp *FormMultipartWithFilesResponse, err error) 17 FormURLEncoded(req FormURLEncodedRequest, metas ...golib_tools_courier.Metadata) (resp *FormURLEncodedResponse, err error) 18 GetByID(req GetByIDRequest, metas ...golib_tools_courier.Metadata) (resp *GetByIDResponse, err error) 19 } 20 21 type ClientDemo struct { 22 golib_tools_courier_client.Client 23 } 24 25 func (ClientDemo) MarshalDefaults(v interface{}) { 26 if cl, ok := v.(*ClientDemo); ok { 27 cl.Name = "demo" 28 cl.Client.MarshalDefaults(&cl.Client) 29 } 30 } 31 32 func (c ClientDemo) Init() { 33 c.CheckService() 34 } 35 36 func (c ClientDemo) CheckService() { 37 err := c.Request(c.Name+".Check", "HEAD", "/", nil). 38 Do(). 39 Into(nil) 40 statusErr := golib_tools_courier_status_error.FromError(err) 41 if statusErr.Code == int64(golib_tools_courier_status_error.RequestTimeout) { 42 panic(fmt.Errorf("service %s have some error %s", c.Name, statusErr)) 43 } 44 } 45 46 type CreateRequest struct { 47 // 48 Body Data `fmt:"json" in:"body"` 49 } 50 51 func (c ClientDemo) Create(req CreateRequest, metas ...golib_tools_courier.Metadata) (resp *CreateResponse, err error) { 52 resp = &CreateResponse{} 53 resp.Meta = golib_tools_courier.Metadata{} 54 55 err = c.Request(c.Name+".Create", "POST", "/demo/crud/", req, metas...). 56 Do(). 57 BindMeta(resp.Meta). 58 Into(&resp.Body) 59 60 return 61 } 62 63 type CreateResponse struct { 64 Meta golib_tools_courier.Metadata 65 Body []byte 66 } 67 68 func (c ClientDemo) FileDownload(metas ...golib_tools_courier.Metadata) (resp *FileDownloadResponse, err error) { 69 resp = &FileDownloadResponse{} 70 resp.Meta = golib_tools_courier.Metadata{} 71 72 err = c.Request(c.Name+".FileDownload", "GET", "/demo/files", nil, metas...). 73 Do(). 74 BindMeta(resp.Meta). 75 Into(&resp.Body) 76 77 return 78 } 79 80 type FileDownloadResponse struct { 81 Meta golib_tools_courier.Metadata 82 Body []byte 83 } 84 85 type FormMultipartWithFileRequest struct { 86 // 87 Body struct { 88 // 89 Data Data `json:"data,omitempty"` 90 // 91 File *mime_multipart.FileHeader `json:"file"` 92 // 93 Slice []string `json:"slice,omitempty"` 94 // 95 String string `json:"string,omitempty"` 96 } `in:"formData,multipart"` 97 } 98 99 func (c ClientDemo) FormMultipartWithFile(req FormMultipartWithFileRequest, metas ...golib_tools_courier.Metadata) (resp *FormMultipartWithFileResponse, err error) { 100 resp = &FormMultipartWithFileResponse{} 101 resp.Meta = golib_tools_courier.Metadata{} 102 103 err = c.Request(c.Name+".FormMultipartWithFile", "POST", "/demo/forms/multipart", req, metas...). 104 Do(). 105 BindMeta(resp.Meta). 106 Into(&resp.Body) 107 108 return 109 } 110 111 type FormMultipartWithFileResponse struct { 112 Meta golib_tools_courier.Metadata 113 Body []byte 114 } 115 116 type FormMultipartWithFilesRequest struct { 117 // 118 Body struct { 119 // 120 Files []*mime_multipart.FileHeader `json:"files"` 121 } `in:"formData,multipart"` 122 } 123 124 func (c ClientDemo) FormMultipartWithFiles(req FormMultipartWithFilesRequest, metas ...golib_tools_courier.Metadata) (resp *FormMultipartWithFilesResponse, err error) { 125 resp = &FormMultipartWithFilesResponse{} 126 resp.Meta = golib_tools_courier.Metadata{} 127 128 err = c.Request(c.Name+".FormMultipartWithFiles", "POST", "/demo/forms/multipart-with-files", req, metas...). 129 Do(). 130 BindMeta(resp.Meta). 131 Into(&resp.Body) 132 133 return 134 } 135 136 type FormMultipartWithFilesResponse struct { 137 Meta golib_tools_courier.Metadata 138 Body []byte 139 } 140 141 type FormURLEncodedRequest struct { 142 // 143 Body struct { 144 // 145 Data Data `json:"data"` 146 // 147 Slice []string `json:"slice"` 148 // 149 String string `json:"string"` 150 } `in:"formData"` 151 } 152 153 func (c ClientDemo) FormURLEncoded(req FormURLEncodedRequest, metas ...golib_tools_courier.Metadata) (resp *FormURLEncodedResponse, err error) { 154 resp = &FormURLEncodedResponse{} 155 resp.Meta = golib_tools_courier.Metadata{} 156 157 err = c.Request(c.Name+".FormURLEncoded", "POST", "/demo/forms/url-encoded", req, metas...). 158 Do(). 159 BindMeta(resp.Meta). 160 Into(&resp.Body) 161 162 return 163 } 164 165 type FormURLEncodedResponse struct { 166 Meta golib_tools_courier.Metadata 167 Body []byte 168 } 169 170 type GetByIDRequest struct { 171 // 172 Status ResourceStatus `in:"query" name:"status"` 173 // 174 ID string `in:"path" name:"id"` 175 // 176 Name string `in:"query" name:"name,omitempty"` 177 // 178 Label []string `in:"query" name:"label,omitempty"` 179 } 180 181 func (c ClientDemo) GetByID(req GetByIDRequest, metas ...golib_tools_courier.Metadata) (resp *GetByIDResponse, err error) { 182 resp = &GetByIDResponse{} 183 resp.Meta = golib_tools_courier.Metadata{} 184 185 err = c.Request(c.Name+".GetByID", "GET", "/demo/crud/:id", req, metas...). 186 Do(). 187 BindMeta(resp.Meta). 188 Into(&resp.Body) 189 190 return 191 } 192 193 type GetByIDResponse struct { 194 Meta golib_tools_courier.Metadata 195 Body GetByID 196 } 197 198 func (c ClientDemo) Swagger(metas ...golib_tools_courier.Metadata) (resp *SwaggerResponse, err error) { 199 resp = &SwaggerResponse{} 200 resp.Meta = golib_tools_courier.Metadata{} 201 202 err = c.Request(c.Name+".Swagger", "GET", "/demo", nil, metas...). 203 Do(). 204 BindMeta(resp.Meta). 205 Into(&resp.Body) 206 207 return 208 } 209 210 type SwaggerResponse struct { 211 Meta golib_tools_courier.Metadata 212 Body JSONBytes 213 }