bpo-26175: Implement `io.IOBase` interface for `SpooledTemporaryFile` by pR0Ps · Pull Request #29560 · python/cpython

@pR0Ps @GFernie

Since the underlying file-like objects (either `io.BytesIO`,
`io.StringIO`, or a true file object) all implement the `io.IOBase`
interface, the `SpooledTemporaryFile` should as well.

Additionally, since the underlying file object will either be an
instance of an `io.BufferedIOBase` (for binary mode) or an
`io.TextIOBase` (for text mode), methods for these classes were also
implemented.

In every case, the required methods and properties are simply delegated
to the underlying file object.

Co-authored-by: Gary Fernie <Gary.Fernie@skyscanner.net>