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  }