go-hep.org/x/hep@v0.38.1/groot/cmd/root-srv/hwriter.go (about)

     1  // Copyright ©2018 The go-hep Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package main
     6  
     7  import (
     8  	"bytes"
     9  	"net/http"
    10  )
    11  
    12  type hwriter struct {
    13  	body *bytes.Buffer
    14  	code int
    15  	hdr  http.Header
    16  }
    17  
    18  func newResponseWriter() *hwriter {
    19  	return &hwriter{
    20  		hdr:  make(http.Header),
    21  		body: new(bytes.Buffer),
    22  	}
    23  }
    24  
    25  func (w *hwriter) Header() http.Header         { return w.hdr }
    26  func (w *hwriter) Write(p []byte) (int, error) { return w.body.Write(p) }
    27  func (w *hwriter) WriteHeader(code int)        { w.code = code }
    28  
    29  // func (w *hwriter) reset() {
    30  // 	w.body.Reset()
    31  // 	for k := range w.hdr {
    32  // 		delete(w.hdr, k)
    33  // 	}
    34  // }
    35  
    36  var (
    37  	_ http.ResponseWriter = (*hwriter)(nil)
    38  )