Patch title: Release 85 bulk changes
Abstract:
File: /pliant/protocol/http/export.pli
Key:
    Removed line
    Added line
   
module "/pliant/language/compiler.pli"
module "/pliant/language/stream.pli"
module "/pliant/admin/file.pli"
module "/pliant/admin/execute.pli"
module "server.pli"
module "/pliant/protocol/http/style/common.pli"
module "/pliant/language/compiler.pli"
module "/pliant/language/stream.pli"
module "/pliant/admin/file.pli"
module "/pliant/admin/execute.pli"
module "server.pli"
module "/pliant/protocol/http/style/common.pli"
module "/pliant/protocol/http/style/default.style"
module "/pliant/protocol/http/client.pli"


module "/pliant/protocol/http/client.pli"


method p begin_end_hook_prototype fun
  arg_rw HtmlPage p ; arg Function fun
  indirect

method page export_dynamic_page pagename options where -> st
  arg_rw HtmlPage page ; arg Str pagename options where ; ar
  var Str ext := where (where search_last "." where:len) whe
  var CBool direct := not (where parse "printer:" any) and e
  var Str html := shunt direct where file_temporary
  var Link:Stream s :> new Stream
  s open html out+safe
  var Link:HtmlPage subpage :> new HtmlPage
  var Str encoding := page:http_request answer_encoding
  page:http_request answer_encoding := ""
  subpage bind page:http_request
  page:http_request answer_encoding := encoding
method page export_dynamic_page pagename options where -> st
  arg_rw HtmlPage page ; arg Str pagename options where ; ar
  var Str ext := where (where search_last "." where:len) whe
  var CBool direct := not (where parse "printer:" any) and e
  var Str html := shunt direct where file_temporary
  var Link:Stream s :> new Stream
  s open html out+safe
  var Link:HtmlPage subpage :> new HtmlPage
  var Str encoding := page:http_request answer_encoding
  page:http_request answer_encoding := ""
  subpage bind page:http_request
  page:http_request answer_encoding := encoding
  subpage read_only_mode := true
  subpage read_only true
  subpage options := options
  subpage http_stream :> s
  subpage options := options
  subpage http_stream :> s
  subpage begin_html_page
  subpage begin_end_hook_prototype subpage:begin_hook
  status := subpage execute_dynamic_page pagename
  status := subpage execute_dynamic_page pagename
  subpage end_html_page
  subpage begin_end_hook_prototype subpage:end_hook
  subpage unbind page:http_request
  if s:close=failure
    file_delete html
    return failure:"Failed to write HTML file"
  if direct
    return success
  var Str ext := where (where search_last "." where:len) whe
  if (where parse "printer:" any:(var Str queue))
    var Str ps := replace (replace file_temporary "file:/" "
    status := html_to_postscript html page options ps
    if status=success
      if (execute "/usr/bin/lpr"+(shunt queue<>"" " -P"+queu
        status := failure "Failed to add job to print queue 
    file_delete ps
  eif ext=".ps" or (options option "postscript")
    var Str ps := file_temporary
    status := html_to_postscript html page options ps
    if status=success
      if (file_copy ps where)=failure
        status := failure "Failed to store PostScript output
    file_delete ps
  file_delete html


export '. export_dynamic_page'
  
  if s:close=failure
    file_delete html
    return failure:"Failed to write HTML file"
  if direct
    return success
  var Str ext := where (where search_last "." where:len) whe
  if (where parse "printer:" any:(var Str queue))
    var Str ps := replace (replace file_temporary "file:/" "
    status := html_to_postscript html page options ps
    if status=success
      if (execute "/usr/bin/lpr"+(shunt queue<>"" " -P"+queu
        status := failure "Failed to add job to print queue 
    file_delete ps
  eif ext=".ps" or (options option "postscript")
    var Str ps := file_temporary
    status := html_to_postscript html page options ps
    if status=success
      if (file_copy ps where)=failure
        status := failure "Failed to store PostScript output
    file_delete ps
  file_delete html


export '. export_dynamic_page'