Add BOB support to geomyidae. - geomyidae - A small C-based gopherd. (gopher://bitreich.org/1/scm/geomyidae)
git clone git://r-36.net/geomyidae
Log
Files
Refs
README
LICENSE
---
commit 55786ce96a30a89b836e2ebdda0a284dfecffefe
parent 9f57161218c2528eb3ba17e30d6c44a970101888
Author: Christoph Lohmann <20h@r-36.net>
Date:   Fri, 24 Feb 2023 18:52:16 +0100

Add BOB support to geomyidae.

Diffstat:
  A bob/README.md                       |      13 +++++++++++++
  A bob/eval-bob                        |      53 ++++++++++++++++++++++++++++++
  A bob/index.bob                       |      14 ++++++++++++++
  A bob/index.dbob                      |      13 +++++++++++++
  M filetypes.h                         |       2 ++
  M main.c                              |       2 +-

6 files changed, 96 insertions(+), 1 deletion(-)
---
diff --git a/bob/README.md b/bob/README.md
@@ -0,0 +1,13 @@
+Why BOB?
+
+Too many people use the Internet drunken. See the web, PHP and other
+technologies, where this will end.
+
+To show you how not to write code drunken and simplify things, this is an
+example of how to add your own dynamic handler language to geomyidae.
+
+We support that people should use gopherspace only when being sober.
+
+Do not accidently ruin someone's life with your strange hype idea you
+created drunken at 2am at night!
+
diff --git a/bob/eval-bob b/bob/eval-bob
@@ -0,0 +1,53 @@
+#!/bin/sh
+#
+# Don't drink and code.
+# Eval BOB!
+#
+# https://www.bob.be/
+#
+# We want to create awareness of people writing code while being drunken.
+# See PHP or Ruby on Rails for how to not do it. You will end up in a
+# life of misery, where you cannot escape and need to keep going until
+# your pension with some ugly language, reinventing what has been done
+# before. Noone will remember you, since you write shit code and the next
+# hype kid replaced your idea with their own hype, rewriting what you
+# already did.
+#
+# Example BOB file:
+#
+#        
+#
+# See index.bob for an example file.
+#
+
+if [ -z "$1" ];
+then
+        input="/dev/stdin"
+else
+        input="$1"
+fi
+
+{
+        awk -v "bob=1" \
+        'BEGIN {
+                print "cat </ {
+                sub(/?>/,"\ncat <
diff --git a/bob/index.bob b/bob/index.bob
@@ -0,0 +1,14 @@
+#!/usr/bin/env eval-bob
+[h|BOB is great.|URL:https://www.bob.be|server|port]
+
+
+extra $a
+
diff --git a/bob/index.dbob b/bob/index.dbob
@@ -0,0 +1,13 @@
+#!/usr/bin/env eval-bob
+
+
+extra $a
+
diff --git a/filetypes.h b/filetypes.h
@@ -17,6 +17,8 @@ filetype type[] = {
         {"gph", "1", handlegph},
         {"cgi", "0", handlecgi},
         {"dcgi", "1", handledcgi},
+        {"bob", "0", handlecgi},
+        {"dbob", "1", handledcgi},
         {"bin", "9", handlebin},
         {"tgz", "9", handlebin},
         {"gz", "9", handlebin},
diff --git a/main.c b/main.c
@@ -59,7 +59,7 @@ int nlistfds = 0;
 char *argv0;
 char stdbase[] = "/var/gopher";
 char *stdport = "70";
-char *indexf[] = {"/index.gph", "/index.cgi", "/index.dcgi", "/index.bin"};
+char *indexf[] = {"/index.gph", "/index.cgi", "/index.dcgi", "/index.bob", "/index.bin"};
 char *nocgierr = "3Sorry, execution of the token '%s' was requested, but this "
             "is disabled in the server configuration.\tErr"
             "\tlocalhost\t70\r\n";