mirror of
https://github.com/wneessen/go-mail.git
synced 2024-11-22 05:40:50 +01:00
Refactor documentation and comments for clarity
Streamlined comments and documentation in `b64linebreaker.go` for better readability and consistency. Improved descriptions of the Base64LineBreaker and its methods to ensure clarity on functionality.
This commit is contained in:
parent
ea90352ef4
commit
6a9c8bb56b
1 changed files with 12 additions and 9 deletions
|
@ -9,21 +9,25 @@ import (
|
||||||
"io"
|
"io"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ErrNoOutWriter is an error message that should be used if a Base64LineBreaker has no out io.Writer set
|
// newlineBytes is a byte slice representation of the SingleNewLine constant used for line breaking
|
||||||
|
// in encoding processes.
|
||||||
|
var newlineBytes = []byte(SingleNewLine)
|
||||||
|
|
||||||
|
// ErrNoOutWriter is the error message returned when no io.Writer is set for Base64LineBreaker.
|
||||||
const ErrNoOutWriter = "no io.Writer set for Base64LineBreaker"
|
const ErrNoOutWriter = "no io.Writer set for Base64LineBreaker"
|
||||||
|
|
||||||
// Base64LineBreaker is a io.WriteCloser that writes Base64 encoded data streams
|
// Base64LineBreaker is used to handle base64 encoding with the insertion of new lines after a certain
|
||||||
// with line breaks at a given line length
|
// number of characters.
|
||||||
|
//
|
||||||
|
// It satisfies the io.WriteCloser interface.
|
||||||
type Base64LineBreaker struct {
|
type Base64LineBreaker struct {
|
||||||
line [MaxBodyLength]byte
|
line [MaxBodyLength]byte
|
||||||
used int
|
used int
|
||||||
out io.Writer
|
out io.Writer
|
||||||
}
|
}
|
||||||
|
|
||||||
var newlineBytes = []byte(SingleNewLine)
|
// Write writes data to the Base64LineBreaker, ensuring lines do not exceed MaxBodyLength.
|
||||||
|
// It handles continuation if data length exceeds the limit and writes new lines accordingly.
|
||||||
// Write writes the data stream and inserts a SingleNewLine when the maximum
|
|
||||||
// line length is reached
|
|
||||||
func (l *Base64LineBreaker) Write(data []byte) (numBytes int, err error) {
|
func (l *Base64LineBreaker) Write(data []byte) (numBytes int, err error) {
|
||||||
if l.out == nil {
|
if l.out == nil {
|
||||||
err = errors.New(ErrNoOutWriter)
|
err = errors.New(ErrNoOutWriter)
|
||||||
|
@ -55,8 +59,7 @@ func (l *Base64LineBreaker) Write(data []byte) (numBytes int, err error) {
|
||||||
return l.Write(data[excess:])
|
return l.Write(data[excess:])
|
||||||
}
|
}
|
||||||
|
|
||||||
// Close closes the Base64LineBreaker and writes any access data that is still
|
// Close finalizes the Base64LineBreaker, writing any remaining buffered data and appending a newline.
|
||||||
// unwritten in memory
|
|
||||||
func (l *Base64LineBreaker) Close() (err error) {
|
func (l *Base64LineBreaker) Close() (err error) {
|
||||||
if l.used > 0 {
|
if l.used > 0 {
|
||||||
_, err = l.out.Write(l.line[0:l.used])
|
_, err = l.out.Write(l.line[0:l.used])
|
||||||
|
|
Loading…
Reference in a new issue