1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00

Move serve-static to typescript (#5833)

This commit is contained in:
Tim Neutkens 2018-12-06 16:54:33 +01:00 committed by GitHub
parent 5d2250ac27
commit 3c62b07593
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 23 additions and 21 deletions

View file

@ -41,6 +41,7 @@
"devDependencies": {
"@taskr/clear": "1.1.0",
"@taskr/watch": "1.1.0",
"@types/send": "0.14.4",
"taskr": "1.1.0",
"typescript": "3.1.6"
},

View file

@ -6,9 +6,9 @@ import fs from 'fs'
import {
renderToHTML,
renderErrorToHTML,
sendHTML,
serveStatic
sendHTML
} from './render'
import {serveStatic} from './serve-static'
import Router, {route} from './router'
import { isInternalUrl, isBlockedPage } from './utils'
import loadConfig from 'next-server/next-config'

View file

@ -1,7 +1,6 @@
import { join } from 'path'
import React from 'react'
import { renderToString, renderToStaticMarkup } from 'react-dom/server'
import send from 'send'
import generateETag from 'etag'
import fresh from 'fresh'
import requirePage, {normalizePagePath} from './require'
@ -23,9 +22,6 @@ function getDynamicImportBundles (manifest, moduleIds) {
}, [])
}
// since send doesn't support wasm yet
send.mime.define({ 'application/wasm': ['wasm'] })
export function renderToHTML (req, res, pathname, query, opts) {
return doRender(req, res, pathname, query, opts)
}
@ -220,18 +216,3 @@ function serializeError (dev, err) {
return { message: '500 - Internal Server Error.' }
}
export function serveStatic (req, res, path) {
return new Promise((resolve, reject) => {
send(req, path)
.on('directory', () => {
// We don't allow directories to be read.
const err = new Error('No directory access')
err.code = 'ENOENT'
reject(err)
})
.on('error', reject)
.pipe(res)
.on('finish', resolve)
})
}

View file

@ -0,0 +1,20 @@
import {IncomingMessage, ServerResponse} from 'http'
import send from 'send'
// since send doesn't support wasm yet
send.mime.define({ 'application/wasm': ['wasm'] })
export function serveStatic (req: IncomingMessage, res: ServerResponse, path: string): Promise<void> {
return new Promise((resolve, reject) => {
send(req, path)
.on('directory', () => {
// We don't allow directories to be read.
const err: any = new Error('No directory access')
err.code = 'ENOENT'
reject(err)
})
.on('error', reject)
.pipe(res)
.on('finish', resolve)
})
}