Golang net/textproto.Reader.ReadMIMEHeader() function example

package net/textproto

Golang net/textproto.Reader.ReadMIMEHeader() function usage example

 package main

 import (
  "bufio"
  "bytes"
  "fmt"
  "io"
  "net/textproto"
 )

 func main() {

  readbuffer := bytes.NewBuffer([]byte("my-key: Value 1  \r\nLong-key: Even \n Longer Value\r\nmy-Key: Value 2\r\n\n"))

  reader := *bufio.NewReader(readbuffer)

  tpReader := textproto.NewReader(bufio.NewReader(&reader))

  //fmt.Println(&tpReader)

  mimehdr, err := tpReader.ReadMIMEHeader()

  if err != nil {
 if err == io.EOF {
 fmt.Println("http: unexpected EOF reading trailer")
 return
 } else {
 fmt.Println(err)
 return
 }
  }

  fmt.Println(mimehdr)

 }

Output :

map[My-Key:[Value 1 Value 2] Long-Key:[Even Longer Value]]

Reference :

http://golang.org/pkg/net/textproto/#Reader.ReadMIMEHeader

Advertisement