Skip to content

Commit 7f8445b

Browse files
authored
actions: update deploy egress policy + refactor error-throwing route (#598)
Signed-off-by: flakey5 <[email protected]>
1 parent 19558a2 commit 7f8445b

File tree

5 files changed

+30
-15
lines changed

5 files changed

+30
-15
lines changed

.github/workflows/deploy.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,15 @@ jobs:
1515
steps:
1616
- uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
1717
with:
18-
egress-policy: audit
19-
# allowed-endpoints: >
20-
# sparrow.cloudflare.com:443
21-
# api.cloudflare.com:443
22-
# api.github.com:443
23-
# github.com:443
24-
# hooks.slack.com:443
25-
# registry.npmjs.org:443
18+
egress-policy: block
19+
allowed-endpoints: >
20+
sparrow.cloudflare.com:443
21+
api.cloudflare.com:443
22+
api.github.com:443
23+
github.com:443
24+
hooks.slack.com:443
25+
registry.npmjs.org:443
26+
sentry.io:443
2627
2728
- name: Git Checkout
2829
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

src/middleware/throwMiddleware.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import type { Middleware } from './middleware';
2+
3+
/**
4+
* Middleware that exists just to throw an error
5+
*/
6+
export class ThrowMiddleware implements Middleware {
7+
handle(): Promise<Response> {
8+
throw new Error('Throw endpoint hit');
9+
}
10+
}

src/routes/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { OriginMiddleware } from '../middleware/originMiddleware';
77
import { R2Middleware } from '../middleware/r2Middleware';
88
import { RedirectionMiddleware } from '../middleware/redirectionMiddleware';
99
import { SubtitutionMiddleware } from '../middleware/subtituteMiddleware';
10+
import { ThrowMiddleware } from '../middleware/throwMiddleware';
1011
import type { Router } from './router';
1112

1213
export function registerRoutes(router: Router): void {
@@ -63,6 +64,8 @@ export function registerRoutes(router: Router): void {
6364
originMiddleware,
6465
]);
6566

67+
router.post('/_throw', [new ThrowMiddleware()]);
68+
6669
router.get('*', [new NotFoundMiddleware()]);
6770

6871
router.all('*', [new MethodNotAllowedMiddleware()]);

src/routes/router.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,14 @@ export class Router {
5656
return callMiddlewareChain(middlewareChain, req, ctx, unsubstitutedUrl);
5757
});
5858
}
59+
60+
post(endpoint: string, middlewares: Middleware[]): void {
61+
const middlewareChain = buildMiddlewareChain(middlewares);
62+
63+
this.itty.post(endpoint, (req, ctx, unsubstitutedUrl) => {
64+
return callMiddlewareChain(middlewareChain, req, ctx, unsubstitutedUrl);
65+
});
66+
}
5967
}
6068

6169
type MiddlewareChain = (

src/worker.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,6 @@ export default {
4545
execution: ctx,
4646
};
4747

48-
if (
49-
env.ENVIRONMENT === 'staging' &&
50-
request.url === '/_657ee98d-f9d3-46cd-837b-f58a88add70a'
51-
) {
52-
throw new Error('sentry source map testing');
53-
}
54-
5548
return await router.handle(request, context);
5649
} catch (e) {
5750
// Send to sentry, if it's disabled this will just noop

0 commit comments

Comments
 (0)