mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 03:52:24 -05:00 
			
		
		
		
	* improve error readability, mark "bad hosts" as fastFail
Signed-off-by: kim <grufwub@gmail.com>
* pull in latest go-byteutil version with byteutil.Reader{}
Signed-off-by: kim <grufwub@gmail.com>
* use rewindable body reader for post requests
Signed-off-by: kim <grufwub@gmail.com>
---------
Signed-off-by: kim <grufwub@gmail.com>
		
	
			
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			692 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			692 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package byteutil
 | |
| 
 | |
| import "bytes"
 | |
| 
 | |
| // Reader wraps a bytes.Reader{} to provide Rewind() capabilities.
 | |
| type Reader struct {
 | |
| 	B []byte
 | |
| 	bytes.Reader
 | |
| }
 | |
| 
 | |
| // NewReader returns a new Reader{} instance reset to b.
 | |
| func NewReader(b []byte) *Reader {
 | |
| 	r := &Reader{}
 | |
| 	r.Reset(b)
 | |
| 	return r
 | |
| }
 | |
| 
 | |
| // Reset resets the Reader{} to be reading from b and sets Reader{}.B.
 | |
| func (r *Reader) Reset(b []byte) {
 | |
| 	r.B = b
 | |
| 	r.Rewind()
 | |
| }
 | |
| 
 | |
| // Rewind resets the Reader{} to be reading from the start of Reader{}.B.
 | |
| func (r *Reader) Rewind() {
 | |
| 	r.Reader.Reset(r.B)
 | |
| }
 | |
| 
 | |
| // ReadNopCloser wraps a Reader{} to provide nop close method.
 | |
| type ReadNopCloser struct {
 | |
| 	Reader
 | |
| }
 | |
| 
 | |
| func (*ReadNopCloser) Close() error {
 | |
| 	return nil
 | |
| }
 |