@@ -292,11 +292,11 @@ func Test_ResolveRequest(t *testing.T) {
292
292
rw := httptest .NewRecorder ()
293
293
r := httptest .NewRequest ("GET" , "/app" , nil )
294
294
r .Header .Set (codersdk .SessionTokenHeader , client .SessionToken ())
295
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
295
+ r . RemoteAddr = auditableIP
296
296
r .Header .Set ("User-Agent" , auditableUA )
297
297
298
298
// Try resolving the request without a token.
299
- token , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
299
+ token , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
300
300
Logger : api .Logger ,
301
301
SignedTokenProvider : api .WorkspaceAppsProvider ,
302
302
DashboardURL : api .AccessURL ,
@@ -357,9 +357,9 @@ func Test_ResolveRequest(t *testing.T) {
357
357
rw = httptest .NewRecorder ()
358
358
r = httptest .NewRequest ("GET" , "/app" , nil )
359
359
r .AddCookie (cookie )
360
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
360
+ r . RemoteAddr = auditableIP
361
361
362
- secondToken , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
362
+ secondToken , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
363
363
Logger : api .Logger ,
364
364
SignedTokenProvider : api .WorkspaceAppsProvider ,
365
365
DashboardURL : api .AccessURL ,
@@ -398,9 +398,9 @@ func Test_ResolveRequest(t *testing.T) {
398
398
rw := httptest .NewRecorder ()
399
399
r := httptest .NewRequest ("GET" , "/app" , nil )
400
400
r .Header .Set (codersdk .SessionTokenHeader , secondUserClient .SessionToken ())
401
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
401
+ r . RemoteAddr = auditableIP
402
402
403
- token , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
403
+ token , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
404
404
Logger : api .Logger ,
405
405
SignedTokenProvider : api .WorkspaceAppsProvider ,
406
406
DashboardURL : api .AccessURL ,
@@ -454,8 +454,8 @@ func Test_ResolveRequest(t *testing.T) {
454
454
t .Log ("app" , app )
455
455
rw := httptest .NewRecorder ()
456
456
r := httptest .NewRequest ("GET" , "/app" , nil )
457
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
458
- token , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
457
+ r . RemoteAddr = auditableIP
458
+ token , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
459
459
Logger : api .Logger ,
460
460
SignedTokenProvider : api .WorkspaceAppsProvider ,
461
461
DashboardURL : api .AccessURL ,
@@ -509,8 +509,8 @@ func Test_ResolveRequest(t *testing.T) {
509
509
auditableIP := randomIPv6 (t )
510
510
rw := httptest .NewRecorder ()
511
511
r := httptest .NewRequest ("GET" , "/app" , nil )
512
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
513
- token , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
512
+ r . RemoteAddr = auditableIP
513
+ token , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
514
514
Logger : api .Logger ,
515
515
SignedTokenProvider : api .WorkspaceAppsProvider ,
516
516
DashboardURL : api .AccessURL ,
@@ -594,9 +594,9 @@ func Test_ResolveRequest(t *testing.T) {
594
594
rw := httptest .NewRecorder ()
595
595
r := httptest .NewRequest ("GET" , "/app" , nil )
596
596
r .Header .Set (codersdk .SessionTokenHeader , client .SessionToken ())
597
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
597
+ r . RemoteAddr = auditableIP
598
598
599
- token , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
599
+ token , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
600
600
Logger : api .Logger ,
601
601
SignedTokenProvider : api .WorkspaceAppsProvider ,
602
602
DashboardURL : api .AccessURL ,
@@ -681,11 +681,11 @@ func Test_ResolveRequest(t *testing.T) {
681
681
Name : codersdk .SignedAppTokenCookie ,
682
682
Value : badTokenStr ,
683
683
})
684
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
684
+ r . RemoteAddr = auditableIP
685
685
686
686
// Even though the token is invalid, we should still perform request
687
687
// resolution without failure since we'll just ignore the bad token.
688
- token , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
688
+ token , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
689
689
Logger : api .Logger ,
690
690
SignedTokenProvider : api .WorkspaceAppsProvider ,
691
691
DashboardURL : api .AccessURL ,
@@ -740,9 +740,9 @@ func Test_ResolveRequest(t *testing.T) {
740
740
rw := httptest .NewRecorder ()
741
741
r := httptest .NewRequest ("GET" , "/app" , nil )
742
742
r .Header .Set (codersdk .SessionTokenHeader , client .SessionToken ())
743
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
743
+ r . RemoteAddr = auditableIP
744
744
745
- token , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
745
+ token , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
746
746
Logger : api .Logger ,
747
747
SignedTokenProvider : api .WorkspaceAppsProvider ,
748
748
DashboardURL : api .AccessURL ,
@@ -778,9 +778,9 @@ func Test_ResolveRequest(t *testing.T) {
778
778
rw := httptest .NewRecorder ()
779
779
r := httptest .NewRequest ("GET" , "/" , nil )
780
780
r .Header .Set (codersdk .SessionTokenHeader , client .SessionToken ())
781
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
781
+ r . RemoteAddr = auditableIP
782
782
783
- token , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
783
+ token , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
784
784
Logger : api .Logger ,
785
785
SignedTokenProvider : api .WorkspaceAppsProvider ,
786
786
DashboardURL : api .AccessURL ,
@@ -825,9 +825,9 @@ func Test_ResolveRequest(t *testing.T) {
825
825
rw := httptest .NewRecorder ()
826
826
r := httptest .NewRequest ("GET" , "/" , nil )
827
827
r .Header .Set (codersdk .SessionTokenHeader , client .SessionToken ())
828
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
828
+ r . RemoteAddr = auditableIP
829
829
830
- _ , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
830
+ _ , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
831
831
Logger : api .Logger ,
832
832
SignedTokenProvider : api .WorkspaceAppsProvider ,
833
833
DashboardURL : api .AccessURL ,
@@ -864,9 +864,9 @@ func Test_ResolveRequest(t *testing.T) {
864
864
rw := httptest .NewRecorder ()
865
865
r := httptest .NewRequest ("GET" , "/" , nil )
866
866
r .Header .Set (codersdk .SessionTokenHeader , client .SessionToken ())
867
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
867
+ r . RemoteAddr = auditableIP
868
868
869
- token , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
869
+ token , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
870
870
Logger : api .Logger ,
871
871
SignedTokenProvider : api .WorkspaceAppsProvider ,
872
872
DashboardURL : api .AccessURL ,
@@ -905,9 +905,9 @@ func Test_ResolveRequest(t *testing.T) {
905
905
rw := httptest .NewRecorder ()
906
906
r := httptest .NewRequest ("GET" , "/app" , nil )
907
907
r .Header .Set (codersdk .SessionTokenHeader , client .SessionToken ())
908
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
908
+ r . RemoteAddr = auditableIP
909
909
910
- token , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
910
+ token , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
911
911
Logger : api .Logger ,
912
912
SignedTokenProvider : api .WorkspaceAppsProvider ,
913
913
DashboardURL : api .AccessURL ,
@@ -955,9 +955,9 @@ func Test_ResolveRequest(t *testing.T) {
955
955
rw := httptest .NewRecorder ()
956
956
r := httptest .NewRequest ("GET" , "/app" , nil )
957
957
r .Header .Set (codersdk .SessionTokenHeader , secondUserClient .SessionToken ())
958
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
958
+ r . RemoteAddr = auditableIP
959
959
960
- token , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
960
+ token , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
961
961
Logger : api .Logger ,
962
962
SignedTokenProvider : api .WorkspaceAppsProvider ,
963
963
DashboardURL : api .AccessURL ,
@@ -996,9 +996,9 @@ func Test_ResolveRequest(t *testing.T) {
996
996
rw := httptest .NewRecorder ()
997
997
r := httptest .NewRequest ("GET" , "/app" , nil )
998
998
r .Header .Set (codersdk .SessionTokenHeader , client .SessionToken ())
999
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
999
+ r . RemoteAddr = auditableIP
1000
1000
1001
- token , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
1001
+ token , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
1002
1002
Logger : api .Logger ,
1003
1003
SignedTokenProvider : api .WorkspaceAppsProvider ,
1004
1004
DashboardURL : api .AccessURL ,
@@ -1030,9 +1030,9 @@ func Test_ResolveRequest(t *testing.T) {
1030
1030
r := httptest .NewRequest ("GET" , "/some-path" , nil )
1031
1031
// Should not be used as the hostname in the redirect URI.
1032
1032
r .Host = "app.com"
1033
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
1033
+ r . RemoteAddr = auditableIP
1034
1034
1035
- token , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
1035
+ token , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
1036
1036
Logger : api .Logger ,
1037
1037
SignedTokenProvider : api .WorkspaceAppsProvider ,
1038
1038
DashboardURL : api .AccessURL ,
@@ -1092,9 +1092,9 @@ func Test_ResolveRequest(t *testing.T) {
1092
1092
rw := httptest .NewRecorder ()
1093
1093
r := httptest .NewRequest ("GET" , "/app" , nil )
1094
1094
r .Header .Set (codersdk .SessionTokenHeader , client .SessionToken ())
1095
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
1095
+ r . RemoteAddr = auditableIP
1096
1096
1097
- token , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
1097
+ token , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
1098
1098
Logger : api .Logger ,
1099
1099
SignedTokenProvider : api .WorkspaceAppsProvider ,
1100
1100
DashboardURL : api .AccessURL ,
@@ -1160,9 +1160,9 @@ func Test_ResolveRequest(t *testing.T) {
1160
1160
rw := httptest .NewRecorder ()
1161
1161
r := httptest .NewRequest ("GET" , "/app" , nil )
1162
1162
r .Header .Set (codersdk .SessionTokenHeader , client .SessionToken ())
1163
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
1163
+ r . RemoteAddr = auditableIP
1164
1164
1165
- token , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
1165
+ token , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
1166
1166
Logger : api .Logger ,
1167
1167
SignedTokenProvider : api .WorkspaceAppsProvider ,
1168
1168
DashboardURL : api .AccessURL ,
@@ -1225,9 +1225,9 @@ func Test_ResolveRequest(t *testing.T) {
1225
1225
rw := httptest .NewRecorder ()
1226
1226
r := httptest .NewRequest ("GET" , "/app" , nil )
1227
1227
r .Header .Set (codersdk .SessionTokenHeader , client .SessionToken ())
1228
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
1228
+ r . RemoteAddr = auditableIP
1229
1229
1230
- token , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
1230
+ token , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
1231
1231
Logger : api .Logger ,
1232
1232
SignedTokenProvider : api .WorkspaceAppsProvider ,
1233
1233
DashboardURL : api .AccessURL ,
@@ -1270,9 +1270,9 @@ func Test_ResolveRequest(t *testing.T) {
1270
1270
rw := httptest .NewRecorder ()
1271
1271
r := httptest .NewRequest ("GET" , "/app" , nil )
1272
1272
r .Header .Set (codersdk .SessionTokenHeader , client .SessionToken ())
1273
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
1273
+ r . RemoteAddr = auditableIP
1274
1274
1275
- _ , ok := workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
1275
+ _ , ok := workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
1276
1276
Logger : api .Logger ,
1277
1277
SignedTokenProvider : api .WorkspaceAppsProvider ,
1278
1278
DashboardURL : api .AccessURL ,
@@ -1299,9 +1299,9 @@ func Test_ResolveRequest(t *testing.T) {
1299
1299
rw = httptest .NewRecorder ()
1300
1300
r = httptest .NewRequest ("GET" , "/app" , nil )
1301
1301
r .Header .Set (codersdk .SessionTokenHeader , client .SessionToken ())
1302
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
1302
+ r . RemoteAddr = auditableIP
1303
1303
1304
- _ , ok = workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
1304
+ _ , ok = workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
1305
1305
Logger : api .Logger ,
1306
1306
SignedTokenProvider : api .WorkspaceAppsProvider ,
1307
1307
DashboardURL : api .AccessURL ,
@@ -1321,7 +1321,7 @@ func Test_ResolveRequest(t *testing.T) {
1321
1321
r .RemoteAddr = auditableIP
1322
1322
1323
1323
sessionTimeoutTokenProvider := signedTokenProviderWithAuditor (t , api .WorkspaceAppsProvider , auditor , 0 )
1324
- _ , ok = workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
1324
+ _ , ok = workspaceappsResolveRequest (t , nil , rw , r , workspaceapps.ResolveRequestOptions {
1325
1325
Logger : api .Logger ,
1326
1326
SignedTokenProvider : sessionTimeoutTokenProvider ,
1327
1327
DashboardURL : api .AccessURL ,
@@ -1349,9 +1349,9 @@ func Test_ResolveRequest(t *testing.T) {
1349
1349
rw = httptest .NewRecorder ()
1350
1350
r = httptest .NewRequest ("GET" , "/app" , nil )
1351
1351
r .Header .Set (codersdk .SessionTokenHeader , client .SessionToken ())
1352
- r = requestWithAuditorAndRemoteAddr ( r , auditor , auditableIP )
1352
+ r . RemoteAddr = auditableIP
1353
1353
1354
- _ , ok = workspaceappsResolveRequest (t , rw , r , workspaceapps.ResolveRequestOptions {
1354
+ _ , ok = workspaceappsResolveRequest (t , auditor , rw , r , workspaceapps.ResolveRequestOptions {
1355
1355
Logger : api .Logger ,
1356
1356
SignedTokenProvider : api .WorkspaceAppsProvider ,
1357
1357
DashboardURL : api .AccessURL ,
@@ -1377,18 +1377,6 @@ func Test_ResolveRequest(t *testing.T) {
1377
1377
})
1378
1378
}
1379
1379
1380
- type auditorKey int
1381
-
1382
- const auditorKey0 auditorKey = iota
1383
-
1384
- func requestWithAuditorAndRemoteAddr (r * http.Request , auditor audit.Auditor , remoteAddr string ) * http.Request {
1385
- ctx := r .Context ()
1386
- ctx = context .WithValue (ctx , auditorKey0 , auditor )
1387
- rr := r .WithContext (ctx )
1388
- rr .RemoteAddr = remoteAddr
1389
- return rr
1390
- }
1391
-
1392
1380
func randomIPv6 (t testing.TB ) string {
1393
1381
t .Helper ()
1394
1382
@@ -1401,13 +1389,9 @@ func randomIPv6(t testing.TB) string {
1401
1389
buf [6 ], buf [7 ], buf [8 ], buf [9 ], buf [10 ], buf [11 ])
1402
1390
}
1403
1391
1404
- func workspaceappsResolveRequest (t testing.TB , w http.ResponseWriter , r * http.Request , opts workspaceapps.ResolveRequestOptions ) (token * workspaceapps.SignedToken , ok bool ) {
1392
+ func workspaceappsResolveRequest (t testing.TB , auditor audit. Auditor , w http.ResponseWriter , r * http.Request , opts workspaceapps.ResolveRequestOptions ) (token * workspaceapps.SignedToken , ok bool ) {
1405
1393
t .Helper ()
1406
- ctx := r .Context ()
1407
- auditorValue := ctx .Value (auditorKey0 )
1408
- if opts .SignedTokenProvider != nil && auditorValue != nil {
1409
- auditor , ok := auditorValue .(audit.Auditor )
1410
- require .True (t , ok , "auditor is not an audit.Auditor" )
1394
+ if opts .SignedTokenProvider != nil && auditor != nil {
1411
1395
opts .SignedTokenProvider = signedTokenProviderWithAuditor (t , opts .SignedTokenProvider , auditor , time .Hour )
1412
1396
}
1413
1397
0 commit comments