Debugger Client Beta documentation: Difference between revisions
Line 10: | Line 10: | ||
Any web server that supports HTTP PUT and GET may be used. This | Any web server that supports HTTP PUT and GET may be used. This | ||
document provides an example of how to set up a Janus Web Server to handle HTTP based PAC files. | document provides an example of how to set up a Janus Web Server to handle HTTP based PAC files. | ||
<p class="code"> | <p class="code">begin | ||
variables are undefined | |||
local subroutine closeFile(%iFile is string len 8 input) | |||
* Close the file whose name is passed. Messages surpressed. | |||
%rc is float | |||
$resetn('MSGCTL', 6, %rc) | |||
$close('FILE ' with %iFile) | |||
$resetn('MSGCTL', 0, %rc) | |||
end subroutine | |||
local function openFile(%iFile is string len 8 input) is float | |||
* Open the file whose name is passed and return 0 for success or | |||
* non-zero for failure. Messages surpressed. | |||
%rc is float | |||
$resetn('MSGCTL', 6, %rc) | |||
openc file %iFile | |||
$resetn('MSGCTL', 0, %rc) | |||
return $status | |||
end function | |||
* Get and validate the command line argument: port number | |||
%args is object stringlist | |||
%args = %(system):arguments:unspace:parseLines(', ') | |||
%portNumber is float | |||
if (%args:count eq 0) then | |||
print 'No port number specified' | |||
stop | |||
elseif (%args:count > 1) then | |||
print 'Too many arguments' | |||
stop | |||
elseif (%args(1) is not like '/2-5(#)') then | |||
print 'Invalid port number' | |||
stop | |||
else | |||
%portNumber = %args(1) | |||
end if | |||
%pacRepo is string len 8 initial('JDPACREP') | |||
%worker is object daemon auto new | |||
%workForDaemon is object Stringlist auto new | |||
* See if the memory file for a PAC repository is there, if not create it | |||
if (%(local):openFile(%pacRepo) eq 0) then | |||
printText Memory file {%pacRepo} already present | |||
%(local):closeFile(%pacRepo) | |||
else | |||
printText creating memory file {%pacRepo} | |||
text to %workForDaemon = new | |||
ALLOCATE {%pacrepo} WITH MEMORY PAGES=300 | |||
CREATE {%pacrepo} | |||
PARAMETER BSIZE=1, DSIZE=250 | |||
END | |||
OPENC {%pacrepo} | |||
IN {%pacrepo} INITIALIZE | |||
CLOSE {%pacrepo} | |||
end text | |||
%worker:run(%workForDaemon):print | |||
end if | |||
* Set up a simple Janus web server with web rules for loading | |||
* serving and listing PAC files generated bythe debugger client. | |||
%portName is string len 8 initial('JDPACSRV') | |||
* Get rid of any earlier one, so this script can be rerun as needed | |||
text to %workForDaemon = new | |||
JANUS DRAIN {%portName} | |||
JANUS DELETE {%portName} | |||
end text | |||
%worker:run(%workForDaemon) | |||
* Create the server and its rules | |||
text to %workForDaemon = new | |||
* Create a web server | |||
JANUS DEFINE {%portName} {%portNumber} WEBSERV 20 TRACE 7 | |||
* Allow upload of PAC files via HTTP PUT of a URL of format /pacman/xxx.js | |||
JANUS WEB {%portName} ON PUT /PACMAN/*.JS OPEN FILE {%pacRepo} RECV *.JS BASE64 | |||
JANUS WEB {%portName} ALLOW PUT /PACMAN/*.JS | |||
* Provide HTTP GET access for URLs of format /pacman/xxx.js | |||
JANUS WEB {%portName} ON GET /PACMAN/*.JS OPEN FILE {%pacRepo} - | |||
SEND *.JS BINARY EXPIRE +0 | |||
* Start the web server | |||
JANUS START {%portName} | |||
end text | |||
%worker:run(%workForDaemon):print | |||
end</p> | |||
====DebuggerConfig.xml changes==== | ====DebuggerConfig.xml changes==== |
Revision as of 12:47, 27 May 2015
Introduction
This page describes any beta versions of the Janus/Tn3270 Debugger Workstation Client that are available.
Build 63, Tag 1 Beta
Run Until/White list/Black list with Daemons
When used with Model 204 Version 7.6 and up Build 63
HTTP PAC File URLs
HTTP Server requirements/setup
Any web server that supports HTTP PUT and GET may be used. This document provides an example of how to set up a Janus Web Server to handle HTTP based PAC files.
begin variables are undefined local subroutine closeFile(%iFile is string len 8 input) * Close the file whose name is passed. Messages surpressed. %rc is float $resetn('MSGCTL', 6, %rc) $close('FILE ' with %iFile) $resetn('MSGCTL', 0, %rc) end subroutine local function openFile(%iFile is string len 8 input) is float * Open the file whose name is passed and return 0 for success or * non-zero for failure. Messages surpressed. %rc is float $resetn('MSGCTL', 6, %rc) openc file %iFile $resetn('MSGCTL', 0, %rc) return $status end function * Get and validate the command line argument: port number %args is object stringlist %args = %(system):arguments:unspace:parseLines(', ') %portNumber is float if (%args:count eq 0) then print 'No port number specified' stop elseif (%args:count > 1) then print 'Too many arguments' stop elseif (%args(1) is not like '/2-5(#)') then print 'Invalid port number' stop else %portNumber = %args(1) end if %pacRepo is string len 8 initial('JDPACREP') %worker is object daemon auto new %workForDaemon is object Stringlist auto new * See if the memory file for a PAC repository is there, if not create it if (%(local):openFile(%pacRepo) eq 0) then printText Memory file {%pacRepo} already present %(local):closeFile(%pacRepo) else printText creating memory file {%pacRepo} text to %workForDaemon = new ALLOCATE {%pacrepo} WITH MEMORY PAGES=300 CREATE {%pacrepo} PARAMETER BSIZE=1, DSIZE=250 END OPENC {%pacrepo} IN {%pacrepo} INITIALIZE CLOSE {%pacrepo} end text %worker:run(%workForDaemon):print end if * Set up a simple Janus web server with web rules for loading * serving and listing PAC files generated bythe debugger client. %portName is string len 8 initial('JDPACSRV') * Get rid of any earlier one, so this script can be rerun as needed text to %workForDaemon = new JANUS DRAIN {%portName} JANUS DELETE {%portName} end text %worker:run(%workForDaemon) * Create the server and its rules text to %workForDaemon = new * Create a web server JANUS DEFINE {%portName} {%portNumber} WEBSERV 20 TRACE 7 * Allow upload of PAC files via HTTP PUT of a URL of format /pacman/xxx.js JANUS WEB {%portName} ON PUT /PACMAN/*.JS OPEN FILE {%pacRepo} RECV *.JS BASE64 JANUS WEB {%portName} ALLOW PUT /PACMAN/*.JS * Provide HTTP GET access for URLs of format /pacman/xxx.js JANUS WEB {%portName} ON GET /PACMAN/*.JS OPEN FILE {%pacRepo} - SEND *.JS BINARY EXPIRE +0 * Start the web server JANUS START {%portName} end text %worker:run(%workForDaemon):print end
DebuggerConfig.xml changes
Once the HTTP server is set up to accept and serve PAC files, the debugger client configuration must be updated to indentify it.
Preferences UI changes
- File->preferences
- If newPac or mergedPac is selected and the configuration has been set up.
- Preferences Section->PAC Button
SetIeMode command changes
setIeMode {none|proxy|newPac|mergedPac} [file|http]
ShowIE command changes
ShowIE has been enhanced to display URL info for any PAC file in use by the debugger client. For example:
Tbd
RetryHTTPPac command
&¤tPacFile function added
The &¤tPacFile function returns the URL of the PAC file in use or "" if none. The URL returned could bee either a file: or http: style URL.
Other new commands
- httpPutFile
- httpPutString
- httpGet