diff options
Diffstat (limited to 'io.go')
-rw-r--r-- | io.go | 42 |
1 files changed, 23 insertions, 19 deletions
@@ -3,39 +3,43 @@ package main // handle all io and de/encoding of data import ( - "encoding/pem" - "errors" - "io/ioutil" + "encoding/pem" + "errors" + "io/ioutil" ) var ( - ErrBlockNotFound = errors.New("block not found") + ErrBlockNotFound = errors.New("block not found") ) // load a pem section from a file func readSectionFromFile(path, btype string) ([]byte, error) { - raw, err := readFile(path) - if err != nil { return raw, err } + raw, err := readFile(path) + if err != nil { + return raw, err + } - return decodeSection(raw, btype) + return decodeSection(raw, btype) } // read a file completely and report possible errors func readFile(path string) ([]byte, error) { - raw, err := ioutil.ReadFile(path) - if err != nil { return EmptyByteArray, err } - return raw, nil + raw, err := ioutil.ReadFile(path) + if err != nil { + return EmptyByteArray, err + } + return raw, nil } // decode a pem encoded file and search for the specified section func decodeSection(data []byte, btype string) ([]byte, error) { - rest := data - for len(rest) > 0 { - var block *pem.Block - block, rest = pem.Decode(rest) - if block.Type == btype { - return block.Bytes, nil - } - } - return EmptyByteArray, ErrBlockNotFound + rest := data + for len(rest) > 0 { + var block *pem.Block + block, rest = pem.Decode(rest) + if block.Type == btype { + return block.Bytes, nil + } + } + return EmptyByteArray, ErrBlockNotFound } |