;;; SPDX-FileCopyrightText: 2021 Li Ian-Xue (b4283) ;;; SPDX-FileCopyrightText: 2025 Evgeny Pisemsky ;;; ;;; SPDX-License-Identifier: GPL-3.0-only (define-module (pastebin main)) (use-modules (pastebin httpserver) (ice-9 getopt-long) (web server)) (export run-pastebin) (define (run-pastebin args) (let* ((option-spec '((addr (value #t)) (port (value #t)))) (options (getopt-long args option-spec)) (data-dir (car (option-ref options '() '()))) (addr-str (option-ref options 'addr "0.0.0.0")) (port-str (option-ref options 'port "8080"))) (if (not (file-exists? data-dir)) (mkdir data-dir)) (run-server (make-pastebin-handler data-dir) 'http (list #:addr (inet-pton AF_INET addr-str) #:port (string->number port-str)))))