[svn:mod_parrot] r438 - in mod_parrot/branches/hll-modules: . include lib/Apache src t/conf

[email protected] Sun, 21 Sep 2008 07:39:21 -0700 (PDT)
Newsgroups perl.cvs.mod_parrot
Message-ID <[email protected]>
Author: jhorwitz
Date: Sun Sep 21 07:39:20 2008
New Revision: 438

Modified:
   mod_parrot/branches/hll-modules/call_list.txt
   mod_parrot/branches/hll-modules/include/mod_parrot.h
   mod_parrot/branches/hll-modules/include/modparrot_config.h
   mod_parrot/branches/hll-modules/lib/Apache/Module.pir
   mod_parrot/branches/hll-modules/src/mod_parrot.c
   mod_parrot/branches/hll-modules/src/modparrot_config.c
   mod_parrot/branches/hll-modules/src/nci.c
   mod_parrot/branches/hll-modules/t/conf/extra.conf.in

Log:
remove unused and deprecated code, including support for ParrotLanguage


Modified: mod_parrot/branches/hll-modules/call_list.txt
==============================================================================
--- mod_parrot/branches/hll-modules/call_list.txt	(original)
+++ mod_parrot/branches/hll-modules/call_list.txt	Sun Sep 21 07:39:20 2008
@@ -19,5 +19,4 @@
 v       ptt
 v       Jtiiipt
 p       JttP
-P	Jitti
 P       Jtpi

Modified: mod_parrot/branches/hll-modules/include/mod_parrot.h
==============================================================================
--- mod_parrot/branches/hll-modules/include/mod_parrot.h	(original)
+++ mod_parrot/branches/hll-modules/include/mod_parrot.h	Sun Sep 21 07:39:20 2008
@@ -57,8 +57,6 @@
     conn_rec *c;
     void *csd;
     int module_index;
-    modparrot_dir_config *dircfg; /* used by HLL directives */
-    modparrot_srv_config *srvcfg; /* used by HLL directives */
 };
 typedef struct modparrot_context modparrot_context;
 
@@ -82,7 +80,7 @@
 modparrot_context *get_interp_ctx(Parrot_Interp);
 void set_interp_ctx(Parrot_Interp, modparrot_context *);
 modparrot_context *modparrot_startup(apr_pool_t *, server_rec *, Parrot_Interp);
-void modparrot_load_file(Parrot_Interp, server_rec *, char *, char *);
+void modparrot_load_file(Parrot_Interp, server_rec *, const char *);
 module *modparrot_add_module(Parrot_Interp, apr_pool_t *, const char *, char *,
     Parrot_PMC);
 

Modified: mod_parrot/branches/hll-modules/include/modparrot_config.h
==============================================================================
--- mod_parrot/branches/hll-modules/include/modparrot_config.h	(original)
+++ mod_parrot/branches/hll-modules/include/modparrot_config.h	Sun Sep 21 07:39:20 2008
@@ -54,14 +54,6 @@
 #  define MP_INIT_CMD_FLAG(c) (c.func = modparrot_module_cmd_flag)
 #endif /* (AP_HAVE_DESIGNATED_INITIALIZER) || defined(DOXYGEN) */
 
-/* configuration */
-struct modparrot_handler_info
-{
-    char *id;  /* identifier of the code to load */
-    char *hll; /* HLL of the code */
-};
-typedef struct modparrot_handler_info modparrot_handler_info; 
-
 /* number of apache hooks we support */
 /* XXX can we obtain this number dynamically? */
 #define MODPARROT_NUM_HOOKS 20
@@ -101,34 +93,15 @@
     apr_table_t *type_map;
     apr_array_header_t *module_array;
     apr_hash_t *module_hash;
-    modparrot_handler_info *open_logs_handler;
-    modparrot_handler_info *child_init_handler;
-    modparrot_handler_info *post_config_handler;
-    modparrot_handler_info *pre_connection_handler;
-    modparrot_handler_info *process_connection_handler;
-    modparrot_handler_info *map_to_storage_handler;
-    modparrot_handler_info *trans_handler;
-    modparrot_handler_info *post_read_request_handler;
 };
 typedef struct modparrot_srv_config modparrot_srv_config;
 
-struct modparrot_dir_config
-{
-    char *directory;
-    char *hll; /* default HLL handler for this block */
-    modparrot_handler_info *input_filter_handler;
-    modparrot_handler_info *output_filter_handler;
-    modparrot_handler_info *header_parser_handler;
-    modparrot_handler_info *handler;
-    modparrot_handler_info *access_handler;
-    modparrot_handler_info *authen_handler;
-    modparrot_handler_info *authz_handler;
-    modparrot_handler_info *type_handler;
-    modparrot_handler_info *fixup_handler;
-    modparrot_handler_info *log_handler;
-    modparrot_handler_info *cleanup_handler;
-};
-typedef struct modparrot_dir_config modparrot_dir_config;
+/* no directory config right now
+ * struct modparrot_dir_config
+ * {
+ * };
+ * typedef struct modparrot_dir_config modparrot_dir_config;
+ */
 
 /* hook types */
 enum modparrot_hooks {
@@ -172,28 +145,7 @@
 void *merge_modparrot_dir_config(apr_pool_t *, void *, void *);
 void *merge_modparrot_srv_config(apr_pool_t *, void *, void *);
 
-/* handler directives */
-const char *modparrot_cmd_open_logs_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_post_config_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_child_init_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_pre_connection_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_process_connection_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_input_filter_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_output_filter_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_post_read_request_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_trans_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_map_to_storage_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_header_parser_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_access_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_authen_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_authz_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_type_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_fixup_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_log_handler(cmd_parms *, void *, const char *);
-const char *modparrot_cmd_cleanup_handler(cmd_parms *, void *, const char *);
-
-/* other directives */
+/* config directives */
 const char *modparrot_cmd_init(cmd_parms *, void *, const char *);
 const char *modparrot_cmd_trace(cmd_parms *, void *, const char *);
 const char *modparrot_cmd_language(cmd_parms *, void *, const char *);

Modified: mod_parrot/branches/hll-modules/lib/Apache/Module.pir
==============================================================================
--- mod_parrot/branches/hll-modules/lib/Apache/Module.pir	(original)
+++ mod_parrot/branches/hll-modules/lib/Apache/Module.pir	Sun Sep 21 07:39:20 2008
@@ -39,12 +39,6 @@
     dlfunc func, nul, "mpnci_get_module_config", "PJtpi"
     set_root_global [ '_modparrot'; 'NCI' ], "get_module_config", func
 
-    dlfunc func, nul, "mpnci_dircfg_handler", "PJitti"
-    set_root_global [ '_modparrot'; 'NCI' ], "dircfg_handler", func
-
-    dlfunc func, nul, "mpnci_srvcfg_handler", "PJitti"
-    set_root_global [ '_modparrot'; 'NCI' ], "srvcfg_handler", func
-
     newclass module_class, [ 'Apache'; 'Module' ]
     addattribute module_class, 'module'
 .end

Modified: mod_parrot/branches/hll-modules/src/mod_parrot.c
==============================================================================
--- mod_parrot/branches/hll-modules/src/mod_parrot.c	(original)
+++ mod_parrot/branches/hll-modules/src/mod_parrot.c	Sun Sep 21 07:39:20 2008
@@ -50,23 +50,18 @@
 /* have we started?  this can be global since it's written to at startup */
 int mp_is_started = 0;
 
-void modparrot_load_file(Parrot_Interp interp, server_rec *s, char *hll,
-                         char *file)
+void modparrot_load_file(Parrot_Interp interp, server_rec *s, const char *file)
 {
     int ret;
 
     char *ext = strrchr(file, '.');
-    /* load any PBC files */
+    /* load any valid parrot files (PIR, PBC, PASM) */
     if (ext && (!strcmp(ext, ".pbc") || !strcmp(ext, ".pir") ||
         !strcmp(ext, ".pasm"))) {
-        modparrot_load_bytecode(interp, file);
+        modparrot_load_bytecode(interp, (char *)file);
     }
     else {
-        /* call the HLL load handler to handle the loading */
-        if (!modparrot_meta_handler(interp, hll, "load", file,
-            &ret)) {
-             MPLOG_ERRORF(s, "no HLL load handler for '%s'", hll);
-        }
+        MPLOG_ERRORF(s, "'%s' is not a valid Parrot file", file);
     }
 }
 
@@ -77,9 +72,9 @@
     int i, ret;
 
     for (i = 0; i < files->nelts; i++) {
-        modparrot_handler_info *l =
-            &((modparrot_handler_info *)files->elts)[i];
-        modparrot_load_file(interp, s, l->hll, l->id);
+        const char *path =
+            ((char **)files->elts)[i];
+        modparrot_load_file(interp, s, path);
     }
 }
 
@@ -822,13 +817,6 @@
         RSRC_CONF,
         "enable Parrot opcode tracing (default is off)"
     ),
-    AP_INIT_TAKE1(
-        "ParrotLanguage",
-        modparrot_cmd_language,
-        NULL,
-        OR_AUTHCFG,
-        "set the Parrot language"
-    ),
     AP_INIT_ITERATE(
         "ParrotLoad",
         modparrot_cmd_load,
@@ -877,8 +865,8 @@
 module AP_MODULE_DECLARE_DATA parrot_module =
 {
     STANDARD20_MODULE_STUFF,
-    create_modparrot_dir_config,
-    NULL, /* merge_modparrot_dir_config, */
+    NULL, /* create_modparrot_dir_config */
+    NULL, /* merge_modparrot_dir_config */
     create_modparrot_srv_config,
     merge_modparrot_srv_config,
     modparrot_cmds,

Modified: mod_parrot/branches/hll-modules/src/modparrot_config.c
==============================================================================
--- mod_parrot/branches/hll-modules/src/modparrot_config.c	(original)
+++ mod_parrot/branches/hll-modules/src/modparrot_config.c	Sun Sep 21 07:39:20 2008
@@ -71,7 +71,7 @@
     cfg->disable_option_flags = 0; /* only used during configuration merge */
     cfg->option_flags = DEFAULT_OPTION_FLAGS; /* set default options here */
     cfg->init_path = NULL;
-    cfg->preload = apr_array_make(p, 2, sizeof(modparrot_handler_info));
+    cfg->preload = apr_array_make(p, 2, sizeof(char *));
     cfg->include_path = NULL;
     cfg->type_map = apr_table_make(p, 2);
     cfg->handler_map = apr_table_make(p, 2);
@@ -147,104 +147,6 @@
     return (void *)merged;
 }
 
-void *create_modparrot_dir_config(apr_pool_t *p, char *path)
-{
-    modparrot_dir_config *cfg;
-
-    cfg = (modparrot_dir_config *)apr_pcalloc(p, sizeof(modparrot_dir_config));
-    if (path == NULL) {
-        cfg->directory = NULL;
-    }
-    else {
-        cfg->directory = (char *)apr_pstrdup(p, path);
-    }
-    cfg->hll = NULL;
-    cfg->handler = NULL;
-
-    return (void *)cfg;
-}
-
-/* this is too messy for a simple override merge -- punt for now */
-#if 0
-void *merge_modparrot_dir_config(apr_pool_t *p, void *base, void *new)
-{
-    modparrot_dir_config *basecfg = (modparrot_dir_config *)base;
-    modparrot_dir_config *newcfg = (modparrot_dir_config *)new;
-    modparrot_dir_config *merged = (modparrot_dir_config *)
-        apr_pcalloc(p, sizeof(modparrot_dir_config));
-
-    merged->directory = (char *)apr_pstrdup(p, newcfg->directory);
-
-    if (newcfg->hll) {
-        merged->hll = (char *)apr_pstrdup(p, newcfg->hll);
-    }
-    else {
-        merged->hll =
-            basecfg->hll ? (char *)apr_pstrdup(p, basecfg->hll) : NULL;
-    }
-
-    if (newcfg->handler) {
-        merged->handler = (modparrot_handler_info *)apr_pmemdup(p, newcfg->handler, sizeof(modparrot_handler_info));
-    }
-    else {
-        merged->handler =
-            basecfg->handler ? (modparrot_handler_info *)apr_pmemdup(p, basecfg->handler, sizeof(modparrot_handler_info)) : NULL;
-    }
-
-    if (newcfg->access_handler) {
-        merged->access_handler = (modparrot_handler_info *)apr_pmemdup(p, newcfg->access_handler, sizeof(modparrot_handler_info));
-    }
-    else {
-        merged->access_handler =
-            basecfg->access_handler ? (modparrot_handler_info *)apr_pmemdup(p, basecfg->access_handler, sizeof(modparrot_handler_info)) : NULL;
-    }
-
-    if (newcfg->authen_handler) {
-        merged->authen_handler = (modparrot_handler_info *)apr_pmemdup(p, newcfg->authen_handler, sizeof(modparrot_handler_info));
-    }
-    else {
-        merged->authen_handler =
-            basecfg->authen_handler ? (modparrot_handler_info *)apr_pmemdup(p, basecfg->authen_handler, sizeof(modparrot_handler_info)) : NULL;
-    }
-
-    if (newcfg->authz_handler) {
-        merged->authz_handler = (modparrot_handler_info *)apr_pmemdup(p, newcfg->authz_handler, sizeof(modparrot_handler_info));
-    }
-    else {
-        merged->authz_handler = 
-            basecfg->authz_handler ? (modparrot_handler_info *)apr_pmemdup(p, basecfg->authz_handler, sizeof(modparrot_handler_info)) : NULL;
-    }
-
-    return (void *)merged;
-}
-#endif
-
-/* parses a handler into the handler ID and the HLL
- * if 'l' is NULL, will allocate handler info itself
- */
-static modparrot_handler_info *parse_handler(apr_pool_t *p, const char *handler,
-    modparrot_handler_info *l)
-{
-    char *part;
-
-    if (!l) {
-        l = (modparrot_handler_info *)apr_pcalloc(p,
-            sizeof(modparrot_handler_info));
-    }
-
-    /* split handler into HLL and ID */
-    if ((part = strchr((char *)handler, ','))) {
-        l->hll = apr_pstrndup(p, handler, part-handler);
-        l->id = apr_pstrdup(p, part+1);
-    }
-    else {
-        l->hll = 0;
-        l->id = apr_pstrdup(p, handler);
-    }
-
-    return(l);
-}
-
 /* calculate option bit vector from enabled and disabled bits */
 void modparrot_recalc_options(modparrot_srv_config *cfg)
 {
@@ -291,35 +193,28 @@
 }
 
 const char *modparrot_cmd_load(cmd_parms *cmd, void *mconfig,
-    const char *handler)
+    const char *path)
 {
     modparrot_srv_config *cfg;
-    modparrot_handler_info *l;
 
     cfg = GET_SERVER_CONFIG(cmd);
-    l = (modparrot_handler_info *)apr_array_push(cfg->preload);
-    parse_handler(cmd->pool, handler, l);
+    *(char **)apr_array_push(cfg->preload) = apr_pstrdup(cmd->pool, path);
 
     return NULL;
 }
 
 const char *modparrot_cmd_load_immediate(cmd_parms *cmd, void *mconfig,
-    const char *handler)
+    const char *path)
 {
     modparrot_srv_config *cfg;
-    modparrot_handler_info *l;
     modparrot_context *ctxp;
 
     cfg = GET_SERVER_CONFIG(cmd);
-    l = (modparrot_handler_info *)apr_array_push(cfg->preload);
 
-    /* XXX how do we get the context if we've already started? */
-    if (!mp_is_started) {
-        ctxp = modparrot_startup(cmd->pool, cmd->server, NULL);
-    }
+    /* this will start the interpreter if necessary and return a context */
+    ctxp = modparrot_startup(cmd->pool, cmd->server, NULL);
 
-    parse_handler(cmd->pool, handler, l);
-    modparrot_load_file(ctxp->interp, cmd->server, l->hll, l->id);
+    modparrot_load_file(ctxp->interp, cmd->server, path);
 
     /* clean up */
     release_ctx(ctxp);
@@ -327,15 +222,6 @@
     return NULL;
 }
 
-const char *modparrot_cmd_language(cmd_parms *cmd, void *mconfig, const char *hll)
-{
-    modparrot_dir_config *cfg;
-
-    cfg = (modparrot_dir_config *)mconfig;
-    cfg->hll = (char *)apr_pstrdup(cmd->pool, hll);
-    return NULL;
-}
-
 const char *modparrot_cmd_init(cmd_parms *cmd, void *mconfig, const char *path)
 {
     modparrot_srv_config *cfg;

Modified: mod_parrot/branches/hll-modules/src/nci.c
==============================================================================
--- mod_parrot/branches/hll-modules/src/nci.c	(original)
+++ mod_parrot/branches/hll-modules/src/nci.c	Sun Sep 21 07:39:20 2008
@@ -238,6 +238,8 @@
     return cfg ? cfg->cfg : PMCNULL;
 }
  
+/* XXX still need this so HLLs can tweak mod_parrot configurations */
+#if 0
 #define SET_DIRCFG_INFO(x) if (update) { ctxp->dircfg->x = handler_info; } \
                              else { handler_info = ctxp->dircfg->x; }
 
@@ -344,3 +346,4 @@
 
     return(handler);
 }
+#endif

Modified: mod_parrot/branches/hll-modules/t/conf/extra.conf.in
==============================================================================
--- mod_parrot/branches/hll-modules/t/conf/extra.conf.in	(original)
+++ mod_parrot/branches/hll-modules/t/conf/extra.conf.in	Sun Sep 21 07:39:20 2008
@@ -12,61 +12,51 @@
 
 <Location /parrot-test/RequestRec-content_type>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::content_type
 </Location>
 
 <Location /parrot-test/RequestRec-puts>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::puts
 </Location>
 
 <Location /parrot-test/RequestRec-write>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::write
 </Location>
 
 <Location /parrot-test/RequestRec-args>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::args
 </Location>
 
 <Location /parrot-test/RequestRec-hostname>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::hostname
 </Location>
 
 <Location /parrot-test/RequestRec-notes>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::notes
 </Location>
 
 <Location /parrot-test/RequestRec-pmc_notes>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::pmc_notes
 </Location>
 
 <Location /parrot-test/RequestRec-status>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::status
 </Location>
 
 <Location /parrot-test/RequestRec-log_rerror>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::log_rerror
 </Location>
 
 <Location /parrot-test/RequestRec-get_basic_auth_pw>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::get_basic_auth_pw
     ParrotAuthenHandler ModParrot::Test::AuthenHandler
     AuthType Basic
@@ -76,7 +66,6 @@
 
 <Location /parrot-test/RequestRec-auth_type>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::auth_type
     ParrotAuthenHandler ModParrot::Test::AuthenHandler
     AuthType Basic
@@ -86,7 +75,6 @@
 
 <Location /parrot-test/RequestRec-auth_name>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::auth_name
     ParrotAuthenHandler ModParrot::Test::AuthenHandler
     AuthType Basic
@@ -96,14 +84,12 @@
 
 <Location /parrot-test/ParrotAccessHandler>
     SetHandler parrot-code
-    ParrotLanguage PIR
-    ParrotAccessHandler ModParrot::Test::AccessHandler
+        ParrotAccessHandler ModParrot::Test::AccessHandler
     ParrotHandler ModParrot::Test::HelloWorld
 </Location>
 
 <Location /parrot-test/ParrotAuthzHandler>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::HelloWorld
     ParrotAuthenHandler ModParrot::Test::AuthenHandler
     ParrotAuthzHandler ModParrot::Test::AuthzHandler
@@ -114,132 +100,110 @@
 
 <Location /parrot-test/RequestRec-the_request>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::the_request
 </Location>
 
 <Location /parrot-test/RequestRec-protocol>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::protocol
 </Location>
 
 <Location /parrot-test/RequestRec-status_line>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::status_line
 </Location>
 
 <Location /parrot-test/RequestRec-range>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::range
 </Location>
 
 <Location /parrot-test/RequestRec-handler>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::handler
 </Location>
 
 <Location /parrot-test/RequestRec-content_encoding>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::content_encoding
 </Location>
 
 <Location /parrot-test/RequestRec-vlist_validator>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::vlist_validator
 </Location>
 
 <Location /parrot-test/RequestRec-unparsed_uri>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::unparsed_uri
 </Location>
 
 <Location /parrot-test/RequestRec-uri>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::uri
 </Location>
 
 <Location /parrot-test/RequestRec-path_info>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::path_info
 </Location>
 
 <Location /parrot-test/RequestRec-assbackwards>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::assbackwards
 </Location>
 
 <Location /parrot-test/RequestRec-proxyreq>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::proxyreq
 </Location>
 
 <Location /parrot-test/RequestRec-header_only>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::header_only
 </Location>
 
 <Location /parrot-test/RequestRec-proto_num>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::proto_num
 </Location>
 
 <Location /parrot-test/RequestRec-method_number>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::method_number
 </Location>
 
 <Location /parrot-test/RequestRec-chunked>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::chunked
 </Location>
 
 <Location /parrot-test/RequestRec-read_body>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::read_body
 </Location>
 
 <Location /parrot-test/RequestRec-read_chunked>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::read_chunked
 </Location>
 
 <Location /parrot-test/RequestRec-no_cache>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::no_cache
 </Location>
 
 <Location /parrot-test/RequestRec-no_local_copy>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::no_local_copy
 </Location>
 
 <Location /parrot-test/RequestRec-used_path_info>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::used_path_info
 </Location>
 
 <Location /parrot-test/RequestRec-eos_sent>
     SetHandler parrot-code
-    ParrotLanguage PIR
     ParrotHandler ModParrot::Test::eos_sent
 </Location>