Fix prefix error
This commit is contained in:
parent
9058516492
commit
1af988a19d
1 changed files with 15 additions and 4 deletions
|
@ -104,6 +104,9 @@ class OsmPoiDatabase {
|
||||||
class Server {
|
class Server {
|
||||||
constructor(
|
constructor(
|
||||||
port: number,
|
port: number,
|
||||||
|
options: {
|
||||||
|
ignorePathPrefix?: string[]
|
||||||
|
},
|
||||||
handle: {
|
handle: {
|
||||||
mustMatch: string | RegExp
|
mustMatch: string | RegExp
|
||||||
mimetype: string
|
mimetype: string
|
||||||
|
@ -140,6 +143,14 @@ class Server {
|
||||||
while (path.startsWith("/")) {
|
while (path.startsWith("/")) {
|
||||||
path = path.substring(1)
|
path = path.substring(1)
|
||||||
}
|
}
|
||||||
|
if (options?.ignorePathPrefix) {
|
||||||
|
for (const toIgnore of options.ignorePathPrefix) {
|
||||||
|
if (path.startsWith(toIgnore)) {
|
||||||
|
path = path.substring(toIgnore.length + 1)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
console.log("Handling ", path)
|
console.log("Handling ", path)
|
||||||
const handler = handle.find((h) => {
|
const handler = handle.find((h) => {
|
||||||
if (typeof h.mustMatch === "string") {
|
if (typeof h.mustMatch === "string") {
|
||||||
|
@ -202,11 +213,11 @@ class Server {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const connectionString = "postgresql://user:password@localhost:5444/osm-poi"
|
const connectionString = "postgresql://user:password@localhost:5445/osm-poi" // "postgresql://user:password@localhost:5444/osm-poi"
|
||||||
const tcs = new OsmPoiDatabase(connectionString)
|
const tcs = new OsmPoiDatabase(connectionString)
|
||||||
const server = new Server(2345, [
|
const server = new Server(2345, { ignorePathPrefix: ["summary"] }, [
|
||||||
{
|
{
|
||||||
mustMatch: "summary/status.json",
|
mustMatch: "status.json",
|
||||||
mimetype: "application/json",
|
mimetype: "application/json",
|
||||||
handle: async (path: string) => {
|
handle: async (path: string) => {
|
||||||
const layers = await tcs.getLayers()
|
const layers = await tcs.getLayers()
|
||||||
|
@ -215,7 +226,7 @@ const server = new Server(2345, [
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
mustMatch: /summary\/[a-zA-Z0-9+_-]+\/[0-9]+\/[0-9]+\/[0-9]+\.json/,
|
mustMatch: /[a-zA-Z0-9+_-]+\/[0-9]+\/[0-9]+\/[0-9]+\.json/,
|
||||||
mimetype: "application/json", // "application/vnd.geo+json",
|
mimetype: "application/json", // "application/vnd.geo+json",
|
||||||
async handle(path) {
|
async handle(path) {
|
||||||
console.log("Path is:", path, path.split(".")[0])
|
console.log("Path is:", path, path.split(".")[0])
|
||||||
|
|
Loading…
Reference in a new issue