mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 08:42:27 -05:00 
			
		
		
		
	[chore] The Big Middleware and API Refactor (tm) (#1250)
* interim commit: start refactoring middlewares into package under router * another interim commit, this is becoming a big job * another fucking massive interim commit * refactor bookmarks to new style * ambassador, wiz zeze commits you are spoiling uz * she compiles, we're getting there * we're just normal men; we're just innocent men * apiutil * whoopsie * i'm glad noone reads commit msgs haha :blob_sweat: * use that weirdo go-bytesize library for maxMultipartMemory * fix media module paths
This commit is contained in:
		
					parent
					
						
							
								560ff1209d
							
						
					
				
			
			
				commit
				
					
						941893a774
					
				
			
		
					 228 changed files with 3188 additions and 3047 deletions
				
			
		|  | @ -22,14 +22,13 @@ import ( | |||
| 	"net/http" | ||||
| 	"time" | ||||
| 
 | ||||
| 	"github.com/superseriousbusiness/gotosocial/internal/api" | ||||
| 	"github.com/gin-gonic/gin" | ||||
| 	"github.com/superseriousbusiness/gotosocial/internal/processing" | ||||
| 	"github.com/superseriousbusiness/gotosocial/internal/router" | ||||
| ) | ||||
| 
 | ||||
| const ( | ||||
| 	// BasePath is the path for the streaming api | ||||
| 	BasePath = "/api/v1/streaming" | ||||
| 	// BasePath is the path for the streaming api, minus the 'api' prefix | ||||
| 	BasePath = "/v1/streaming" | ||||
| 
 | ||||
| 	// StreamQueryKey is the query key for the type of stream being requested | ||||
| 	StreamQueryKey = "stream" | ||||
|  | @ -41,29 +40,25 @@ const ( | |||
| 	AccessTokenHeader = "Sec-Websocket-Protocol" | ||||
| ) | ||||
| 
 | ||||
| // Module implements the api.ClientModule interface for everything related to streaming | ||||
| type Module struct { | ||||
| 	processor    processing.Processor | ||||
| 	tickDuration time.Duration | ||||
| } | ||||
| 
 | ||||
| // New returns a new streaming module | ||||
| func New(processor processing.Processor) api.ClientModule { | ||||
| func New(processor processing.Processor) *Module { | ||||
| 	return &Module{ | ||||
| 		processor:    processor, | ||||
| 		tickDuration: 30 * time.Second, | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func NewWithTickDuration(processor processing.Processor, tickDuration time.Duration) api.ClientModule { | ||||
| func NewWithTickDuration(processor processing.Processor, tickDuration time.Duration) *Module { | ||||
| 	return &Module{ | ||||
| 		processor:    processor, | ||||
| 		tickDuration: tickDuration, | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // Route attaches all routes from this module to the given router | ||||
| func (m *Module) Route(r router.Router) error { | ||||
| 	r.AttachHandler(http.MethodGet, BasePath, m.StreamGETHandler) | ||||
| 	return nil | ||||
| func (m *Module) Route(attachHandler func(method string, path string, f ...gin.HandlerFunc) gin.IRoutes) { | ||||
| 	attachHandler(http.MethodGet, BasePath, m.StreamGETHandler) | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue