File tree Expand file tree Collapse file tree 2 files changed +26
-4
lines changed Expand file tree Collapse file tree 2 files changed +26
-4
lines changed Original file line number Diff line number Diff line change @@ -7,6 +7,8 @@ import { baremuxPath } from '@mercuryworkshop/bare-mux/node';
7
7
import { join } from 'node:path' ;
8
8
import { hostname } from 'node:os' ;
9
9
import wisp from 'wisp-server-node' ;
10
+ import Ultraviolet from '@titaniumnetwork-dev/ultraviolet' ;
11
+ import uvConfig from './uv.config.js' ;
10
12
11
13
const app = express ( ) ;
12
14
@@ -24,6 +26,24 @@ app.use('/uv/', express.static(uvPath));
24
26
app . use ( '/epoxy/' , express . static ( epoxyPath ) ) ;
25
27
app . use ( '/baremux/' , express . static ( baremuxPath ) ) ;
26
28
29
+ // Configure Ultraviolet
30
+ const uv = new Ultraviolet ( uvConfig ) ;
31
+
32
+ // Generate proxied URL
33
+ app . get ( '/generate-proxy-url' , ( req , res ) => {
34
+ const serviceUrl = req . query . url ;
35
+ if ( serviceUrl ) {
36
+ const encodedUrl = uv . encodeUrl ( serviceUrl ) ;
37
+ const proxyUrl = `http://${ hostname ( ) } :${ port } /service/${ encodedUrl } ` ;
38
+ res . send ( proxyUrl ) ;
39
+ } else {
40
+ res . status ( 400 ) . send ( 'No URL provided' ) ;
41
+ }
42
+ } ) ;
43
+
44
+ // Use Ultraviolet middleware
45
+ app . use ( '/service/' , uv . middleware ( ) ) ;
46
+
27
47
// Error for everything else
28
48
app . use ( ( req , res ) => {
29
49
res . status ( 404 ) ;
Original file line number Diff line number Diff line change
1
+ import Ultraviolet from '@titaniumnetwork-dev/ultraviolet' ;
2
+
1
3
const uvConfig = {
2
4
prefix : '/service/' ,
3
5
bare : '/bare/' ,
4
6
encodeUrl : Ultraviolet . codec . xor . encode ,
5
7
decodeUrl : Ultraviolet . codec . xor . decode ,
6
- handler : '/dist /uv.handler.js' ,
7
- bundle : '/dist /uv.bundle.js' ,
8
- config : '/dist /uv.config.js' ,
9
- sw : '/dist /uv.sw.js' ,
8
+ handler : '/uv /uv.handler.js' ,
9
+ bundle : '/uv /uv.bundle.js' ,
10
+ config : '/uv /uv.config.js' ,
11
+ sw : '/uv /uv.sw.js' ,
10
12
} ;
11
13
12
14
export default uvConfig ;
You can’t perform that action at this time.
0 commit comments