coder / coder/internal

Refactor workspace app auditing to include HTTP status codes returned outside of `Issue`

Aperta
#517 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Nessun dato sulla lingua
Stelle
3
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

@mafredri one thing we could do is have `proxyWorkspaceApp` return the reverse proxy and an error/boolean/something. That way the code can look _something_ like:

```golang
token, audit, ok := ResolveRequest(rw, r, ResolveRequestOptions{
// ....

proxy, err := s.proxyWorkspaceApp(rw, r, *token, chiPath, appurl.ApplicationURL{})

audit()
proxy.ServeHTTP(rw, r)
```

That would catch all the top level proxy errors. It is a bit of a refactor, and I am sure I am not thinking of something. However the audit log up front feels like an improvement, and we do not need to hook into the status writer.

_Originally posted by @Emyrk in https://github.com/coder/coder/pull/16801#discussion_r1985158788_

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia leggendo proxyWorkspaceApp e ResolveRequest, quindi segui come vengono sottoposte ad audit le risposte del proxy dell’app workspace. La discussione propone di restituire il reverse proxy con un valore di errore o di successo prima di chiamare ServeHTTP; il lavoro è completato quando i log di audit includono anche i codici di stato HTTP delle risposte al di fuori di Issue. Non viene indicato alcun percorso di file o test.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
go
Ambito
backend
Tipo di issue
Refactoring
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.