Table of Contents
RC file
When Hop starts (i.e., the hop
command is executed), it first
reads a Runtime Command File that configures its runtime environment.
The most important purpose of the file is to declare the users that will
be allowed to access the Hop services. The default name of this file
is $HOME/.config/hoprc.js
, which can be changed using command line
options (see command).
The hoprc.js
is a regular JavaScript file. It can import any
other modules or library. However, it has special rights that let it
execute expressions that will be later on forbidden or ineffective.
In particular, the hoprc.js
is the only file where the function
user.add
(see user) can be called.
For the example sake here is how to declare an hoprc.js
with two
users hopjs
and anonymous
.
hop = require( "hop" );
var user = require( hop.user );
var config = require( hop.config );
user.add( { name: "hopjs",
password: user.encryptPassword( "hopjs", "inria" ),
services: "*",
directories: "*"
} );
user.add( { name: "anonymous",
password: user.encryptPassword( "hopjs", "23^73++_*" ),
services: "",
directories: ""
} );
Note: The anonymous user
is the user on which all non-authentified request are
identified. Declaring an anonymous user in the hoprc.js
file is
mandatory. Without such a declaration, the server will raise an error
for each new web request it will receive. The anonymous might have no
permissions granted, as in the example above, but it must
exist.
The rcfile.js
can be generated automatically using the Hop
wizard (http://localhost:8080/hop/wizard
).