Go to file
2020-06-20 23:22:04 +02:00
bin Add .ini for configuration 2020-06-20 19:04:10 +02:00
config Add .ini for configuration 2020-06-20 19:04:10 +02:00
src Add logf method for standardized logging 2020-06-20 23:21:53 +02:00
var Add command, query, stable server with argument parsing 2020-06-20 18:07:43 +02:00
.gitignore Add .ini for configuration 2020-06-20 19:04:10 +02:00
README.md Update 'README.md' 2020-06-20 19:06:44 +02:00

zmq-fileserver

This is a simple fileserver written in PHP (7.4+) using ZeroMQ.
It requires ext-zmq and PHP7.4+.

There are three executable files:

  • $ bin/server runs the fileserver
  • $ bin/command <arg1> <arg2> ... sends a command to the server
  • $ bin/query <arg1> <arg2> ... sends a query to the server and returns the response

Commands

  • SAVE <namespace> <name> <contents> saves a file
  • DELETE <namespace> <name> deletes a file if it exists
  • DELETE_ALL <namespace> deletes an entire namespace

To save a file to the fileserver you can do:
$ bin/command SAVE my-project-namespace 1.html "<!DOCTYPE html><html>...</html>"
$ bin/command SAVE my-project-namespace 2.xml "$(cat some/xml/file)"

Queries

  • CONTAINS <namespace> <name> returns Y if the file exists in the namespace, else N
  • LOAD <namespace> <name> returns the file contents if it exists, else -1

To load a file from the fileserver you can do:
$ bin/query LOAD my-project-namespace 1.html

Configuration

See config/config.ini. It contains an example configuration.