xio

package
v0.0.0-...-883d5d7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 16, 2024 License: MPL-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package xio provides i/o utilities.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CloseIgnoringErrors

func CloseIgnoringErrors(closer io.Closer)

CloseIgnoringErrors closes the closer and ignores any error it might produce. Should only be used for read-only streams of data where closing should never cause an error.

func ContextSleep

func ContextSleep(ctx context.Context, waitTime time.Duration) error

ContextSleep sleeps for the specified time, or until the context is done. You can check the return error to see if the context deadline was exceeded by using errors.Is(err, context.DeadlineExceeded).

func DiscardAndCloseIgnoringErrors

func DiscardAndCloseIgnoringErrors(rc io.ReadCloser)

DiscardAndCloseIgnoringErrors reads any content remaining in the body and discards it, then closes the body.

func NewBOMStripper

func NewBOMStripper(r io.Reader) (*bufio.Reader, error)

NewBOMStripper strips a leading UTF-8 BOM marker from the input. The reader that is returned will be the same as the one passed in if it was a *bufio.Reader, otherwise, the original reader will be wrapped with a *bufio.Reader and returned.

func RetrieveData

func RetrieveData(filePathOrURL string) ([]byte, error)

RetrieveData loads the bytes from the given file path or URL of type file, http, or https.

func RetrieveDataFromURL

func RetrieveDataFromURL(urlStr string) ([]byte, error)

RetrieveDataFromURL loads the bytes from the given URL of type file, http, or https.

func RetrieveDataFromURLWithContext

func RetrieveDataFromURLWithContext(ctx context.Context, urlStr string) ([]byte, error)

RetrieveDataFromURLWithContext loads the bytes from the given URL of type file, http, or https.

func RetrieveDataWithContext

func RetrieveDataWithContext(ctx context.Context, filePathOrURL string) ([]byte, error)

RetrieveDataWithContext loads the bytes from the given file path or URL of type file, http, or https.

Types

type ByteBuffer

type ByteBuffer struct {
	// contains filtered or unexported fields
}

ByteBuffer is a variable-sized buffer of bytes with Write and Insert methods. The zero value for ByteBuffer is an empty buffer ready to use.

func (*ByteBuffer) Bytes

func (b *ByteBuffer) Bytes() []byte

Bytes returns the underlying buffer of bytes.

func (*ByteBuffer) Cap

func (b *ByteBuffer) Cap() int

Cap returns the capacity of the buffer.

func (*ByteBuffer) Insert

func (b *ByteBuffer) Insert(index int, data []byte) error

Insert data at the given offset.

func (*ByteBuffer) InsertByte

func (b *ByteBuffer) InsertByte(index int, ch byte) error

InsertByte inserts a byte at the given offset.

func (*ByteBuffer) InsertRune

func (b *ByteBuffer) InsertRune(index int, r rune) error

InsertRune inserts the UTF-8 encoding of the rune at the given offset.

func (*ByteBuffer) InsertString

func (b *ByteBuffer) InsertString(index int, s string) error

InsertString inserts the string at the given offset.

func (*ByteBuffer) Len

func (b *ByteBuffer) Len() int

Len returns the number of bytes contained by the buffer.

func (*ByteBuffer) Reset

func (b *ByteBuffer) Reset()

Reset resets the buffer to be empty.

func (*ByteBuffer) String

func (b *ByteBuffer) String() string

String returns the underlying buffer of bytes as a string. If the ByteBuffer is a nil pointer, it returns "<nil>".

func (*ByteBuffer) Truncate

func (b *ByteBuffer) Truncate(n int)

Truncate discards all but the first n bytes from the buffer.

func (*ByteBuffer) Write

func (b *ByteBuffer) Write(data []byte) (int, error)

Write appends the contents of data to the buffer.

func (*ByteBuffer) WriteByte

func (b *ByteBuffer) WriteByte(ch byte) error

WriteByte appends the byte to the buffer.

func (*ByteBuffer) WriteRune

func (b *ByteBuffer) WriteRune(r rune) (int, error)

WriteRune appends the UTF-8 encoding of the rune to the buffer.

func (*ByteBuffer) WriteString

func (b *ByteBuffer) WriteString(s string) (int, error)

WriteString appends the string to the buffer.

func (*ByteBuffer) WriteTo

func (b *ByteBuffer) WriteTo(w io.Writer) (int64, error)

WriteTo writes data to w until the buffer is drained or an error occurs.

type LineWriter

type LineWriter struct {
	// contains filtered or unexported fields
}

LineWriter buffers its input into lines before sending each line to an output function without the trailing line feed.

func NewLineWriter

func NewLineWriter(out func([]byte)) *LineWriter

NewLineWriter creates a new LineWriter.

func (*LineWriter) Close

func (w *LineWriter) Close() error

Close implements the io.Closer interface.

func (*LineWriter) Write

func (w *LineWriter) Write(data []byte) (n int, err error)

Write implements the io.Writer interface.

type TeeWriter

type TeeWriter struct {
	Writers []io.Writer
}

TeeWriter is a writer that writes to multiple other writers.

func (*TeeWriter) Write

func (t *TeeWriter) Write(p []byte) (n int, err error)

Write to each of the underlying streams.

Directories

Path Synopsis
fs
Package fs provides filesystem-related utilities.
Package fs provides filesystem-related utilities.
paths
Package paths provides platform-specific standard paths.
Package paths provides platform-specific standard paths.
safe
Package safe provides safe, atomic saving of files.
Package safe provides safe, atomic saving of files.
tar
Package tar provides simple tar extraction.
Package tar provides simple tar extraction.
zip
Package zip provides simple zip extraction.
Package zip provides simple zip extraction.
Package network provides network-related utilities.
Package network provides network-related utilities.
natpmp
Package natpmp provides an implementation of NAT-PMP.
Package natpmp provides an implementation of NAT-PMP.
xhttp
Package xhttp provides HTTP-related utilities.
Package xhttp provides HTTP-related utilities.
xhttp/web
Package web provides a web server with some standardized logging and handler wrapping.
Package web provides a web server with some standardized logging and handler wrapping.
Package term provides terminal utilities.
Package term provides terminal utilities.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL