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:
parent
5d2250ac27
commit
3c62b07593
|
@ -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"
|
||||
},
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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)
|
||||
})
|
||||
}
|
||||
|
|
20
packages/next-server/server/serve-static.ts
Normal file
20
packages/next-server/server/serve-static.ts
Normal 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)
|
||||
})
|
||||
}
|
Loading…
Reference in a new issue