Patch title: Release 93 bulk changes
Abstract:
File: /protocol/http/client.pli
Key:
    Removed line
    Added line
   
# Copyright  Hubert Tonneau  hubert.tonneau@pliant.cx
#
# This program is free software; you can redistribute it and
# modify it under the terms of the GNU General Public Licens
# as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be us
# but WITHOUT ANY WARRANTY; without even the implied warrant
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See 
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public 
# version 2 along with this program; if not, write to the Fr
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 


method fs list epath options flags files -> supported_flags
  oarg_rw HttpFileSystem fs ; arg Str epath options ; arg In
  supported_flags := extended
  if (epath eparse "//" any:(var Str server) "/" any:(var St
    void
  else
    return
  if not (options option "no_http_encode")
    path := http_encode path
  var Int port
  if (server eparse any:(var Str server1) ":" port)
    server := server1
  else
    port := 80
  var Str channel := options option "channel" Str
  if channel=""
    channel := "tcp://"+server+"/client/"+string:port
  var Link:Stream tcp :> new Stream
  tcp open channel in+out+safe+cr+lf
  if tcp=failure
    http_trace trace "Failed to connect to " channel
    return failure
  (var TraceSession log) bind http_trace
  tcp writeline "GET /"+path+"?list HTTP/1.0" log
  write_http_options server options tcp log
  if not ((tcp readline log) parse "HTTP/" (var Float protoc
    return
  while { var Str l := tcp readline log ; l<>"" }
    void
  while not tcp:atend
    var Str l := tcp readline
    if (l eparse "<pfile name=[dq]" any:(var Str name) "[dq]
# Copyright  Hubert Tonneau  hubert.tonneau@pliant.cx
#
# This program is free software; you can redistribute it and
# modify it under the terms of the GNU General Public Licens
# as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be us
# but WITHOUT ANY WARRANTY; without even the implied warrant
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See 
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public 
# version 2 along with this program; if not, write to the Fr
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 


method fs list epath options flags files -> supported_flags
  oarg_rw HttpFileSystem fs ; arg Str epath options ; arg In
  supported_flags := extended
  if (epath eparse "//" any:(var Str server) "/" any:(var St
    void
  else
    return
  if not (options option "no_http_encode")
    path := http_encode path
  var Int port
  if (server eparse any:(var Str server1) ":" port)
    server := server1
  else
    port := 80
  var Str channel := options option "channel" Str
  if channel=""
    channel := "tcp://"+server+"/client/"+string:port
  var Link:Stream tcp :> new Stream
  tcp open channel in+out+safe+cr+lf
  if tcp=failure
    http_trace trace "Failed to connect to " channel
    return failure
  (var TraceSession log) bind http_trace
  tcp writeline "GET /"+path+"?list HTTP/1.0" log
  write_http_options server options tcp log
  if not ((tcp readline log) parse "HTTP/" (var Float protoc
    return
  while { var Str l := tcp readline log ; l<>"" }
    void
  while not tcp:atend
    var Str l := tcp readline
    if (l eparse "<pfile name=[dq]" any:(var Str name) "[dq]
      var Link:FileInfo info :> new FileInfo 
      var Link:FileInfo info :> new FileInfo
      info name := epath+html_decode:name
      info size := size
      info datetime := dt
      info options := html_decode:opt
      info name := epath+html_decode:name
      info size := size
      info datetime := dt
      info options := html_decode:opt
      info status := success
      files append addressof:info
      log trace "list" string:name " " size " " datetime " "



      files append addressof:info
      log trace "list" string:name " " size " " datetime " "