github.com/josephspurrier/go-swagger@v0.2.1-0.20221129144919-1f672a142a00/examples/todo-list/client/todos/find_parameters.go (about)

     1  // Code generated by go-swagger; DO NOT EDIT.
     2  
     3  package todos
     4  
     5  // This file was generated by the swagger tool.
     6  // Editing this file might prove futile when you re-run the swagger generate command
     7  
     8  import (
     9  	"context"
    10  	"net/http"
    11  	"time"
    12  
    13  	"github.com/go-openapi/errors"
    14  	"github.com/go-openapi/runtime"
    15  	cr "github.com/go-openapi/runtime/client"
    16  	"github.com/go-openapi/strfmt"
    17  	"github.com/go-openapi/swag"
    18  )
    19  
    20  // NewFindParams creates a new FindParams object,
    21  // with the default timeout for this client.
    22  //
    23  // Default values are not hydrated, since defaults are normally applied by the API server side.
    24  //
    25  // To enforce default values in parameter, use SetDefaults or WithDefaults.
    26  func NewFindParams() *FindParams {
    27  	return &FindParams{
    28  		timeout: cr.DefaultTimeout,
    29  	}
    30  }
    31  
    32  // NewFindParamsWithTimeout creates a new FindParams object
    33  // with the ability to set a timeout on a request.
    34  func NewFindParamsWithTimeout(timeout time.Duration) *FindParams {
    35  	return &FindParams{
    36  		timeout: timeout,
    37  	}
    38  }
    39  
    40  // NewFindParamsWithContext creates a new FindParams object
    41  // with the ability to set a context for a request.
    42  func NewFindParamsWithContext(ctx context.Context) *FindParams {
    43  	return &FindParams{
    44  		Context: ctx,
    45  	}
    46  }
    47  
    48  // NewFindParamsWithHTTPClient creates a new FindParams object
    49  // with the ability to set a custom HTTPClient for a request.
    50  func NewFindParamsWithHTTPClient(client *http.Client) *FindParams {
    51  	return &FindParams{
    52  		HTTPClient: client,
    53  	}
    54  }
    55  
    56  /*
    57  FindParams contains all the parameters to send to the API endpoint
    58  
    59  	for the find operation.
    60  
    61  	Typically these are written to a http.Request.
    62  */
    63  type FindParams struct {
    64  
    65  	// XRateLimit.
    66  	//
    67  	// Format: int32
    68  	XRateLimit int32
    69  
    70  	// Limit.
    71  	//
    72  	// Format: int32
    73  	Limit int32
    74  
    75  	// Tags.
    76  	Tags []int32
    77  
    78  	timeout    time.Duration
    79  	Context    context.Context
    80  	HTTPClient *http.Client
    81  }
    82  
    83  // WithDefaults hydrates default values in the find params (not the query body).
    84  //
    85  // All values with no default are reset to their zero value.
    86  func (o *FindParams) WithDefaults() *FindParams {
    87  	o.SetDefaults()
    88  	return o
    89  }
    90  
    91  // SetDefaults hydrates default values in the find params (not the query body).
    92  //
    93  // All values with no default are reset to their zero value.
    94  func (o *FindParams) SetDefaults() {
    95  	// no default values defined for this parameter
    96  }
    97  
    98  // WithTimeout adds the timeout to the find params
    99  func (o *FindParams) WithTimeout(timeout time.Duration) *FindParams {
   100  	o.SetTimeout(timeout)
   101  	return o
   102  }
   103  
   104  // SetTimeout adds the timeout to the find params
   105  func (o *FindParams) SetTimeout(timeout time.Duration) {
   106  	o.timeout = timeout
   107  }
   108  
   109  // WithContext adds the context to the find params
   110  func (o *FindParams) WithContext(ctx context.Context) *FindParams {
   111  	o.SetContext(ctx)
   112  	return o
   113  }
   114  
   115  // SetContext adds the context to the find params
   116  func (o *FindParams) SetContext(ctx context.Context) {
   117  	o.Context = ctx
   118  }
   119  
   120  // WithHTTPClient adds the HTTPClient to the find params
   121  func (o *FindParams) WithHTTPClient(client *http.Client) *FindParams {
   122  	o.SetHTTPClient(client)
   123  	return o
   124  }
   125  
   126  // SetHTTPClient adds the HTTPClient to the find params
   127  func (o *FindParams) SetHTTPClient(client *http.Client) {
   128  	o.HTTPClient = client
   129  }
   130  
   131  // WithXRateLimit adds the xRateLimit to the find params
   132  func (o *FindParams) WithXRateLimit(xRateLimit int32) *FindParams {
   133  	o.SetXRateLimit(xRateLimit)
   134  	return o
   135  }
   136  
   137  // SetXRateLimit adds the xRateLimit to the find params
   138  func (o *FindParams) SetXRateLimit(xRateLimit int32) {
   139  	o.XRateLimit = xRateLimit
   140  }
   141  
   142  // WithLimit adds the limit to the find params
   143  func (o *FindParams) WithLimit(limit int32) *FindParams {
   144  	o.SetLimit(limit)
   145  	return o
   146  }
   147  
   148  // SetLimit adds the limit to the find params
   149  func (o *FindParams) SetLimit(limit int32) {
   150  	o.Limit = limit
   151  }
   152  
   153  // WithTags adds the tags to the find params
   154  func (o *FindParams) WithTags(tags []int32) *FindParams {
   155  	o.SetTags(tags)
   156  	return o
   157  }
   158  
   159  // SetTags adds the tags to the find params
   160  func (o *FindParams) SetTags(tags []int32) {
   161  	o.Tags = tags
   162  }
   163  
   164  // WriteToRequest writes these params to a swagger request
   165  func (o *FindParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
   166  
   167  	if err := r.SetTimeout(o.timeout); err != nil {
   168  		return err
   169  	}
   170  	var res []error
   171  
   172  	// header param X-Rate-Limit
   173  	if err := r.SetHeaderParam("X-Rate-Limit", swag.FormatInt32(o.XRateLimit)); err != nil {
   174  		return err
   175  	}
   176  
   177  	// form param limit
   178  	frLimit := o.Limit
   179  	fLimit := swag.FormatInt32(frLimit)
   180  	if err := r.SetFormParam("limit", fLimit); err != nil {
   181  		return err
   182  	}
   183  
   184  	if o.Tags != nil {
   185  
   186  		// binding items for tags
   187  		joinedTags := o.bindParamTags(reg)
   188  
   189  		// form array param tags
   190  		if err := r.SetFormParam("tags", joinedTags...); err != nil {
   191  			return err
   192  		}
   193  	}
   194  
   195  	if len(res) > 0 {
   196  		return errors.CompositeValidationError(res...)
   197  	}
   198  	return nil
   199  }
   200  
   201  // bindParamFind binds the parameter tags
   202  func (o *FindParams) bindParamTags(formats strfmt.Registry) []string {
   203  	tagsIR := o.Tags
   204  
   205  	var tagsIC []string
   206  	for _, tagsIIR := range tagsIR { // explode []int32
   207  
   208  		tagsIIV := swag.FormatInt32(tagsIIR) // int32 as string
   209  		tagsIC = append(tagsIC, tagsIIV)
   210  	}
   211  
   212  	// items.CollectionFormat: "multi"
   213  	tagsIS := swag.JoinByFormat(tagsIC, "multi")
   214  
   215  	return tagsIS
   216  }