UNPKG

1.72 kBJavaScriptView Raw
1'use strict'
2
3const path = require('path')
4const {
5 Backend,
6 RestApi,
7 CreatedServingFilesEndpoint,
8 CreatedCachedServingFilesEndpoint
9} = require('./index');
10const {
11 CreatedOptions
12} = require('@cuties/https')
13const { ReadDataByPath } = require('@cuties/fs')
14const SimpleResponseOnGETRequest = require('./example/SimpleResponseOnGETRequest')
15const SimpleResponseOnPOSTRequest = require('./example/SimpleResponseOnPOSTRequest')
16const CustomNotFoundEndpoint = require('./example/CustomNotFoundEndpoint')
17const CustomInternalServerErrorEndpoint = require('./example/CustomInternalServerErrorEndpoint')
18const CustomIndexEndpoint = require('./example/CustomIndexEndpoint')
19
20const notFoundEndpoint = new CustomNotFoundEndpoint(new RegExp(/\/not-found/))
21const internalServerErrorEndpoint = new CustomInternalServerErrorEndpoint()
22
23const mapper = (url) => {
24 let parts = url.split('/').filter(part => part !== '')
25 return path.join(...parts)
26}
27
28const cacheMapper = (url) => {
29 let parts = url.split('/').filter(part => part !== '').slice(1)
30 parts.unshift('files')
31 return path.join(...parts)
32}
33
34new Backend(
35 'https',
36 8000,
37 '127.0.0.1',
38 new RestApi(
39 new CustomIndexEndpoint(),
40 new SimpleResponseOnGETRequest(new RegExp(/^\/get/), 'GET'),
41 new SimpleResponseOnPOSTRequest(new RegExp(/^\/post/), 'POST'),
42 new CreatedServingFilesEndpoint(new RegExp(/^\/files/), mapper, notFoundEndpoint),
43 new CreatedCachedServingFilesEndpoint(new RegExp(/^\/cached/), cacheMapper, notFoundEndpoint),
44 notFoundEndpoint,
45 internalServerErrorEndpoint
46 ), new CreatedOptions(
47 'key', new ReadDataByPath('./example/pem/key.pem'),
48 'cert', new ReadDataByPath('./example/pem/cert.pem')
49 )
50).call()