本文整理汇总了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;未经允许,请勿转载。 |
请发表评论