add social webseite
This commit is contained in:
58
server.ps1
Normal file
58
server.ps1
Normal file
@@ -0,0 +1,58 @@
|
||||
param(
|
||||
[string]$Dir = ".",
|
||||
[int]$Port = 8080
|
||||
)
|
||||
|
||||
$prefix = "http://localhost:$Port/"
|
||||
$listener = New-Object System.Net.HttpListener
|
||||
$listener.Prefixes.Add($prefix)
|
||||
$listener.Start()
|
||||
|
||||
Write-Host "Server laeuft auf $prefix" -ForegroundColor Green
|
||||
Write-Host "Druecke STRG+C zum Beenden."
|
||||
Write-Host ""
|
||||
|
||||
try {
|
||||
while ($listener.IsListening) {
|
||||
$ctx = $listener.GetContext()
|
||||
|
||||
try {
|
||||
$path = $ctx.Request.Url.AbsolutePath
|
||||
if ($path -eq "/") { $path = "/index.html" }
|
||||
|
||||
$rel = $path.TrimStart("/")
|
||||
$file = Join-Path (Resolve-Path $Dir) $rel
|
||||
|
||||
if ((Test-Path $file) -and -not (Get-Item $file -ErrorAction SilentlyContinue).PSIsContainer) {
|
||||
$bytes = [System.IO.File]::ReadAllBytes($file)
|
||||
$ext = [System.IO.Path]::GetExtension($file).ToLower()
|
||||
$mime = switch ($ext) {
|
||||
".html" { "text/html; charset=utf-8" }
|
||||
".htm" { "text/html; charset=utf-8" }
|
||||
".css" { "text/css" }
|
||||
".js" { "application/javascript" }
|
||||
".json" { "application/json" }
|
||||
".png" { "image/png" }
|
||||
".jpg" { "image/jpeg" }
|
||||
".jpeg" { "image/jpeg" }
|
||||
".gif" { "image/gif" }
|
||||
".svg" { "image/svg+xml" }
|
||||
".ico" { "image/x-icon" }
|
||||
".woff2"{ "font/woff2" }
|
||||
default { "application/octet-stream" }
|
||||
}
|
||||
$ctx.Response.ContentType = $mime
|
||||
$ctx.Response.OutputStream.Write($bytes, 0, $bytes.Length)
|
||||
}
|
||||
else {
|
||||
$ctx.Response.StatusCode = 404
|
||||
}
|
||||
}
|
||||
finally {
|
||||
$ctx.Response.OutputStream.Close()
|
||||
}
|
||||
}
|
||||
}
|
||||
finally {
|
||||
$listener.Stop()
|
||||
}
|
||||
Reference in New Issue
Block a user