feat(web): Support redirecting to custom url for index page

This commit is contained in:
Manuel 2025-03-20 07:40:00 +01:00
parent d27348ca0b
commit 15bf56a1e7
Signed by: Manuel
GPG key ID: 4085037435E1F07A
3 changed files with 15 additions and 1 deletions

View file

@ -20,6 +20,7 @@ type Config struct {
WebPort uint16
UserAgents []string
NitterBase string
IndexTarget string
}
func ConfigFromFile(filePath string) (*Config, error) {

View file

@ -72,12 +72,19 @@ func New(config *config.Config, scraper *ts.Scraper) (*WebServer, error) {
WriteTimeout: 30 * time.Second,
},
}
sm.HandleFunc("GET /", ws.handleIndex)
sm.HandleFunc("GET /avatar/{username}", ws.handleAvatar)
sm.HandleFunc("GET /tweet/{id}", ws.handleTweet)
sm.HandleFunc("GET /video/{id}", ws.handleVideo)
return ws, nil
}
func (ws WebServer) handleIndex(w http.ResponseWriter, r *http.Request) {
if ws.config.IndexTarget != "" {
http.Redirect(w, r, ws.config.IndexTarget, http.StatusPermanentRedirect)
}
}
func (ws WebServer) handleAvatar(w http.ResponseWriter, r *http.Request) {
username := r.PathValue("username")