从TCP连接获取HTTP标头

I was writing a proxifier like app for Linux in golang. The app when executed will listen for all the TCP connections and redirect them to the proxy server address. In between the app also adds a "Proxy-Authorisation : Basic ..." header to the HTTP Headers. When I saw the TCP headers I was unable to get the HTTP Headers. Where am I going wrong or How can I extract the HTTP Data? Is there any other way to achieve this?

I am also new to golang but below code works for me as far as getting HTTP data from tcp socket is consern.

package main

import "net" 
import "fmt" 
import "io"

func main() {   
    fmt.Println("Launching server...")
    ln, _ := net.Listen("tcp", ":8081")
    conn, _ := ln.Accept()
    tmp := make([]byte,256)
        for {
            n,err := conn.Read(tmp)
            if err != nil {
                if err != io.EOF {
                    fmt.Println("read error:", err)
                }
                break
            }
            fmt.Println("rx:", string(tmp[:n]))
        } 
}