• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang httpkit.Producer类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/go-swagger/go-swagger/httpkit.Producer的典型用法代码示例。如果您正苦于以下问题:Golang Producer类的具体用法?Golang Producer怎么用?Golang Producer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Producer类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: WriteResponse

// WriteResponse to the client
func (o *GetInventoryOK) WriteResponse(rw http.ResponseWriter, producer httpkit.Producer) {

	rw.WriteHeader(200)
	if err := producer.Produce(rw, o.Payload); err != nil {
		panic(err) // let the recovery middleware deal with this
	}

}
开发者ID:MStoykov,项目名称:go-swagger,代码行数:9,代码来源:get_inventory_responses.go


示例2: WriteResponse

// WriteResponse to the client
func (o *FindReviewsForLearningResourceOK) WriteResponse(rw http.ResponseWriter, producer httpkit.Producer) {

	rw.WriteHeader(200)
	if err := producer.Produce(rw, o.Payload); err != nil {
		panic(err) // let the recovery middleware deal with this
	}

}
开发者ID:gophergala2016,项目名称:wwcdc_01,代码行数:9,代码来源:find_reviews_for_learning_resource_responses.go


示例3: WriteResponse

func (o *FindDefault) WriteResponse(rw http.ResponseWriter, producer httpkit.Producer) {

	rw.WriteHeader(500)
	if o.Payload != nil {
		if err := producer.Produce(rw, o.Payload); err != nil {
			panic(err) // let the recovery middleware deal with this
		}
	}
}
开发者ID:tgzzzH,项目名称:go-swagger,代码行数:9,代码来源:find_responses.go


示例4: WriteResponse

// WriteResponse to the client
func (o *GetTaskDetailsUnprocessableEntity) WriteResponse(rw http.ResponseWriter, producer httpkit.Producer) {

	rw.WriteHeader(422)
	if o.Payload != nil {
		if err := producer.Produce(rw, o.Payload); err != nil {
			panic(err) // let the recovery middleware deal with this
		}
	}
}
开发者ID:MStoykov,项目名称:go-swagger,代码行数:10,代码来源:get_task_details_responses.go


示例5: WriteResponse

// WriteResponse to the client
func (o *AddLearningResourceDefault) WriteResponse(rw http.ResponseWriter, producer httpkit.Producer) {

	rw.WriteHeader(o._statusCode)
	if o.Payload != nil {
		if err := producer.Produce(rw, o.Payload); err != nil {
			panic(err) // let the recovery middleware deal with this
		}
	}
}
开发者ID:gophergala2016,项目名称:wwcdc_01,代码行数:10,代码来源:add_learning_resource_responses.go


示例6: WriteResponse

// WriteResponse to the client
func (o *DeleteEventInternalServerError) WriteResponse(rw http.ResponseWriter, producer httpkit.Producer) {

	rw.WriteHeader(500)
	if o.Payload != nil {
		if err := producer.Produce(rw, o.Payload); err != nil {
			panic(err) // let the recovery middleware deal with this
		}
	}
}
开发者ID:masahide,项目名称:fastpass,代码行数:10,代码来源:delete_event_responses.go


示例7: WriteResponse

// WriteResponse to the client
func (o *AddOneCreated) WriteResponse(rw http.ResponseWriter, producer httpkit.Producer) {

	rw.WriteHeader(201)
	if o.Payload != nil {
		if err := producer.Produce(rw, o.Payload); err != nil {
			panic(err) // let the recovery middleware deal with this
		}
	}
}
开发者ID:hartsock,项目名称:go-swagger,代码行数:10,代码来源:add_one_responses.go


示例8: WriteResponse

// WriteResponse to the client
func (o *ListTasksOK) WriteResponse(rw http.ResponseWriter, producer httpkit.Producer) {

	// response header X-Last-Task-Id
	rw.Header().Add("X-Last-Task-Id", fmt.Sprintf("%v", o.XLastTaskID))

	rw.WriteHeader(200)
	if err := producer.Produce(rw, o.Payload); err != nil {
		panic(err) // let the recovery middleware deal with this
	}

}
开发者ID:MStoykov,项目名称:go-swagger,代码行数:12,代码来源:list_tasks_responses.go


示例9: WriteResponse

// WriteResponse to the client
func (o *LoginUserOK) WriteResponse(rw http.ResponseWriter, producer httpkit.Producer) {

	// response header X-Expires-After
	rw.Header().Add("X-Expires-After", fmt.Sprintf("%v", o.XExpiresAfter))

	// response header X-Rate-Limit
	rw.Header().Add("X-Rate-Limit", fmt.Sprintf("%v", o.XRateLimit))

	rw.WriteHeader(200)
	if err := producer.Produce(rw, o.Payload); err != nil {
		panic(err) // let the recovery middleware deal with this
	}

}
开发者ID:MStoykov,项目名称:go-swagger,代码行数:15,代码来源:login_user_responses.go


示例10: WriteResponse

func (e *errorResp) WriteResponse(rw http.ResponseWriter, producer httpkit.Producer) {
	for k, v := range e.headers {
		for _, val := range v {
			rw.Header().Add(k, val)
		}
	}
	if e.code > 0 {
		rw.WriteHeader(e.code)
	} else {
		rw.WriteHeader(http.StatusInternalServerError)
	}
	if err := producer.Produce(rw, e.response); err != nil {
		panic(err)
	}
}
开发者ID:MStoykov,项目名称:go-swagger,代码行数:15,代码来源:not_implemented.go


示例11: BuildHTTP

// BuildHTTP creates a new http request based on the data from the params
func (r *request) BuildHTTP(producer httpkit.Producer, registry strfmt.Registry) (*http.Request, error) {
	// build the data
	if err := r.writer.WriteToRequest(r, registry); err != nil {
		return nil, err
	}

	// create http request
	path := r.pathPattern
	for k, v := range r.pathParams {
		path = strings.Replace(path, "{"+k+"}", v, -1)
	}

	var body io.ReadCloser
	var pr *io.PipeReader
	var pw *io.PipeWriter
	buf := bytes.NewBuffer(nil)
	body = ioutil.NopCloser(buf)
	if r.fileFields != nil {
		pr, pw = io.Pipe()
		body = pr
	}
	req, err := http.NewRequest(r.method, path, body)
	if err != nil {
		return nil, err
	}
	req.URL.RawQuery = r.query.Encode()
	req.Header = r.header

	// check if this is a form type request
	if len(r.formFields) > 0 || len(r.fileFields) > 0 {
		// check if this is multipart
		if len(r.fileFields) > 0 {
			mp := multipart.NewWriter(pw)
			req.Header.Set(httpkit.HeaderContentType, mp.FormDataContentType())

			go func() {
				defer func() {
					mp.Close()
					pw.Close()
				}()

				for fn, v := range r.formFields {
					if len(v) > 0 {
						if err := mp.WriteField(fn, v[0]); err != nil {
							pw.CloseWithError(err)
							log.Fatal(err)
						}
					}
				}

				for fn, f := range r.fileFields {
					wrtr, err := mp.CreateFormFile(fn, filepath.Base(f.Name()))
					if err != nil {
						pw.CloseWithError(err)
						log.Fatal(err)
					}
					defer func() {
						for _, ff := range r.fileFields {
							ff.Close()
						}

					}()
					if _, err := io.Copy(wrtr, f); err != nil {
						pw.CloseWithError(err)
						log.Fatal(err)
					}
				}

			}()
			return req, nil
		}
		buf.WriteString(r.formFields.Encode())
		return req, nil
	}

	// write the form values as body
	// if there is payload, use the producer to write the payload
	if r.payload != nil {
		if err := producer.Produce(buf, r.payload); err != nil {
			return nil, err
		}
	}
	return req, nil
}
开发者ID:MStoykov,项目名称:go-swagger,代码行数:85,代码来源:request.go


示例12: BuildHTTP

// BuildHTTP creates a new http request based on the data from the params
func (r *request) BuildHTTP(producer httpkit.Producer, registry strfmt.Registry) (*http.Request, error) {
	// build the data
	if err := r.writer.WriteToRequest(r, registry); err != nil {
		return nil, err
	}

	// create http request
	path := r.pathPattern
	for k, v := range r.pathParams {
		path = strings.Replace(path, "{"+k+"}", v, -1)
	}

	// TODO: Support uploading huge bodies!
	// Not too excited about the buffer here, but it keeps me going for now
	body := bytes.NewBuffer(nil)
	req, err := http.NewRequest(r.method, path, body)
	if err != nil {
		return nil, err
	}
	req.URL.RawQuery = r.query.Encode()
	req.Header = r.header

	// check if this is a form type request
	if r.formFields != nil {
		// check if this is multipart
		if r.fileFields != nil {

			mp := multipart.NewWriter(body)
			defer mp.Close()
			req.Header.Set(httpkit.HeaderContentType, mp.FormDataContentType())

			for fn, v := range r.formFields {
				if len(v) > 0 {
					if err := mp.WriteField(fn, v[0]); err != nil {
						return nil, err
					}
				}
			}

			for fn, f := range r.fileFields {
				wrtr, err := mp.CreateFormFile(fn, filepath.Base(f.Name()))
				if err != nil {
					return nil, err
				}
				defer func() {
					for _, ff := range r.fileFields {
						ff.Close()
					}
				}()
				// TODO: Support uploading huge files!
				// Stop this copy insanity!
				if _, err := io.Copy(wrtr, f); err != nil {
					return nil, err
				}
			}

			return req, nil
		}
		body.WriteString(r.formFields.Encode())
		return req, nil
	}

	// write the form values as body
	// if there is payload, use the producer to write the payload
	if err := producer.Produce(body, r.payload); err != nil {
		return nil, err
	}
	return req, nil
}
开发者ID:ChrisPRobinson,项目名称:go-swagger,代码行数:70,代码来源:request.go



注:本文中的github.com/go-swagger/go-swagger/httpkit.Producer类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang client.New函数代码示例发布时间:2022-05-23
下一篇:
Golang httpkit.Consumer类代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap