# ReverseProxy::FormFiller config example
# Put this file somewhere on your server - typically in 
# /etc/apache2/FormFiller/ -, adapt it and point to it in Apache2 config,
# through a directive like
#     PerlSetVar FormFillerParamFile "<current file path>"

# jQuery selector to the form to fill
# optional: if not defined, first form in web page will be filled
form      => '"form:first"',
# may rely on perl functions and Apache environment vars, e.g
#form      => '(localtime)[2] >= 12 ? "#morningForm" : "#afternoonForm"',
# If the inputs/textareas/select markups do not belong to any form, you can set
#form      => '"body"'

# To enable form auto-submit, or to automatically click on a button
# may be true (enabled), false (disabled), or a jQuery selector to the button to click on
submit    => '"true"',
# may also rely on perl functions and Apache environment vars
# optional, default value: false

# URL to load jQuery,
# since ReverseProxy::FormFiller response filter relies on jQuery (any version >= 1.0)
# optional: if not defined, jQuery is supposed to be already loaded in the web page
jQueryUrl => "",

# Form fields to fill in response body - filled data will be seen by user
# Hash keys refer to input/textarea/select's name attribute
# Fields value can rely on perl functions and Apache environment vars
publicFormData => {
    company  => '"SnakeOilsInc"',
    user     => '$ENV{REMOTE_USER} =~ /(rtyler|msmith)/ ? "user" : $ENV{REMOTE_USER} =~ /dwho/ ? "admin" : "nobody"',
    password => '"hidden"'
},

# Alternatively, if the inputs you want to fill in the html page
# have no name attribute, you can define them with jQuery selectors
#publicFilledData => {
#    'textarea.company'     => '"SnakeOilsInc"',
#    'input#user'           => '$ENV{REMOTE_USER} =~ /(rtyler|msmith)/ ? "user" : $ENV{REMOTE_USER} =~ /dwho/ ? "admin" : "nobody"',
#    'input[type=password]' => '"hidden"'
#},

# Form fields to fill in request body - filled data will not be seen by user
# Fields value can rely on perl functions and Apache environment vars
# Note that publicFormData are also re-filled in request body,
# to prevent malicious users to tamper them
secretFormData => {
    password => '$ENV{REMOTE_USER} =~ /(rtyler|msmith)/ ? "user-secret" : $ENV{REMOTE_USER} =~ /dwho/ ? "admin-secret" : ""',
},

# Alternatively, you can do substitutions on POST data
#postDataSub => [
#    's/foo/bar/',
#    's/user:(.+?):password:[^:]+/user:$1:password:admin-secret/',
#]

# Arbitrary javascript code to run after fields are filled, but before posting the form
# If you call jQuery through its shortcut '$', you have to escape it
# Use single quotes and double quotes as in the following example
#  javascript => 'alert("Hello $ENV{REMOTE_USER}"); \$(input.mycheckbox).prop("checked", true)'

