Jasp

About Jasp

Jasp is an ISAPI extension which implements ASP server side scripting. As of yet it has been successfully tested to work with httpdASM, Sambar and PWS. It might also work with Apache, if mod_isapi is enabled, but this is to be verified yet.

How does Jasp work?

Jasp is a scripting host, it implements COM interface IActiveScriptSite and creates a script engine - VBScript, JScript, Perl, ... - which in turn communicates with Jasp through this interface. Jasp scans the .ASP-file requested for tags "<%" and "%>", makes some translations and sends the text to the script engine. The engine calls back through IActiveScriptSite directly or through dispinterfaces the engine has received from IActiveScriptSite::GetItemInfo.

Restrictions

Script support implemented in Jasp is restricted to:

- @-directive LANGUAGE supported, engines tested are VBScript, JScript and Perl
- only a subset of ASP objects is currently implemented. These are:

  • Response (interface IResponse)
    • Buffer
    • ContentType
    • Expires (dummy)
    • ExpiresAbsolute
    • Status
    • Clear
    • Cookies (dummy)
    • Flush
    • Redirect
    • Write

  • Request (interface IRequest)
    • Item
    • QueryString
    • Form
    • ServerVariables
    • Cookies (dummy)
    • TotalBytes

  • Server (interface IServer)
    • ScriptTimeout
    • CreateObject
    • HTMLEncode

  • Session (interface ISessionObject)
    • SessionID (dummy)
    • Value

  • Application (interface IApplicationObject)
    • Value

  • interface IRequestDictionary
    • Count
    • Item
    • Key
    • _NewEnum

The Session and Application object cannot hold values across dialog steps! There surely exist other restrictions I'm currently not aware of.

Click here to download the latest version of Jasp