func (ctx *HttpContext) Header() http.Header {
    return ctx.responseWriter.Header()
}
Header gets the response header
package goku
import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
    "path"
)
type HttpContext struct {
    Request        *http.Request        
    responseWriter http.ResponseWriter  
    Method         string               
    RouteData *RouteData              
    ViewData  map[string]interface{}  
    Data      map[string]interface{}  
    Result    ActionResulter          
    Err       error                   
    User      string                  
    Canceled  bool                    
    requestHandler       *RequestHandler
    responseContentCache *bytes.Buffer  
    responseStatusCode   int            
}
func (ctx *HttpContext) flushToResponse() {
    if ctx.responseStatusCode > 0 {
        ctx.responseWriter.WriteHeader(ctx.responseStatusCode)
    }
    if ctx.responseContentCache.Len() > 0 {
        ctx.responseContentCache.WriteTo(ctx.responseWriter)
    }
}
func (ctx *HttpContext) ResponseWriter() http.ResponseWriter {
    return ctx.responseWriter
}
func (ctx *HttpContext) RootDir() string {
    return ctx.requestHandler.ServerConfig.RootDir
}
func (ctx *HttpContext) StaticPath() string {
    return path.Join(ctx.RootDir(), ctx.requestHandler.ServerConfig.StaticPath)
}
func (ctx *HttpContext) ViewPath() string {
    return path.Join(ctx.RootDir(), ctx.requestHandler.ServerConfig.ViewPath)
}
func (ctx *HttpContext) Get(name string) string {
    v, ok := ctx.RouteData.Get(name)
    if ok {
        return v
    }
    return ctx.Request.FormValue(name)
}