示例#1
0
文件: utils.go 项目: huangqg/hyper
func (cli *HyperClient) streamBody(body io.ReadCloser, contentType string, setRawTerminal bool, stdout, stderr io.Writer) error {
	defer body.Close()

	if utils.MatchesContentType(contentType, "application/json") {
		for {
			buf := new(bytes.Buffer)
			buf.ReadFrom(body)
			str := buf.String()
			fmt.Printf(str)
		}
		return nil
	}
	return nil
}
示例#2
0
文件: server.go 项目: huangqg/hyper
// Check to make sure request's Content-Type is application/json
func checkForJson(r *http.Request) error {
	ct := r.Header.Get("Content-Type")

	// No Content-Type header is ok as long as there's no Body
	if ct == "" {
		if r.Body == nil || r.ContentLength == 0 {
			return nil
		}
	}

	// Otherwise it better be json
	if utils.MatchesContentType(ct, "application/json") {
		return nil
	}
	return fmt.Errorf("Content-Type specified (%s) must be 'application/json'", ct)
}