"""Fisiere statice pentru instalarea OpenCode, cu tipurile MIME corecte.

Motivul existentei: `python3 -m http.server` trimite .ps1 ca application/octet-stream,
iar Windows PowerShell 5.1 intoarce atunci octeti in loc de text, asa ca
`irm .../setup.ps1 | iex` esueaza cu un mesaj derutant. PowerShell 7 nu are
problema asta, deci bug-ul apare doar pe masinile cu PowerShell-ul implicit.
"""
import http.server
import sys
from functools import partial

TIPURI = {".ps1": "text/plain; charset=utf-8",
          ".sh": "text/plain; charset=utf-8",
          ".js": "text/plain; charset=utf-8"}


class Handler(http.server.SimpleHTTPRequestHandler):
    extensions_map = {**http.server.SimpleHTTPRequestHandler.extensions_map, **TIPURI}


if __name__ == "__main__":
    port = int(sys.argv[1]) if len(sys.argv) > 1 else 8088
    director = sys.argv[2] if len(sys.argv) > 2 else "/home/andrei/setup-srv"
    # test() nu primeste directorul; se dă prin partial, ca la http.server --directory
    http.server.test(HandlerClass=partial(Handler, directory=director),
                     port=port, bind="0.0.0.0", protocol="HTTP/1.0")
