Debugger Client Beta documentation: Difference between revisions

From m204wiki
Jump to navigation Jump to search
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">x</p>
<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

&&currentPacFile function added

The &&currentPacFile 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