@database "HTTPResume_english.guide"
@author Andrija Antonijevic
@remark $VER: HTTPResume.guide 1.3 (31.8.98)
@smartwrap

@node MAIN "Welcome to HTTPResume"

@{line}@{JCENTER}HTTPResume 1.3@{par}

@{JCENTER}Copyright © 1998 Andrija Antonijevic

@{JLEFT}@{par}

    @{"   Legal stuff   " link Disclaimer} Lawyers enjoy reading this...@{line}
    @{"  Introduction   " link Introduction} What is this thing anyway?@{line}
    @{"    Features     " link Features} What can it do?@{line}
    @{"  Requirements   " link Requirements} What do I need to use this?@{line}
    @{"    Giftware     " link Giftware} No comment...@{line}
    @{"  Installation   " link Installation} How to install...@{line}
    @{"      Usage      " link Usage} Please read this@{line}
    @{"      ARexx      " link "HTTPR_Rexx_english.guide/MAIN"} ARexx commands@{line}
    @{"  Tips & tricks  " link Tips} How to use it better@{line}
    @{"      Bugs       " link Bugs} Just call the exterminators ;>@{line}
    @{"     Credits     " link Credits} Credit where credit's due@{line}
    @{"     History     " link History} And on the first day...@{line}
    @{"     Author      " link Author} No comment...@{line}

@endnode
@node USAGE "Usage"

@{line}HTTPResume can be @{" started from CLI " link CLI} or
@{" from Workbench " link WB}. When it gets started, it will
first parse the arguments you supplied and then read ENV
variable HTTPResume.opts and analyse its contents. You
could do something like@{par}

SetEnv HTTPResume.opts STARTDIR=DL: PROXY=http://some.proxy.com:8080@{line}
Copy ENV:HTTPResume.opts ENVARC:@{par}

and you won't need to always type PROXY nor STARTDIR in command line.
Command line arguments/tooltypes have higher priority then ENV variable!
I.e. if you supply PROXY in ENV variable and in argument/tooltype
the latter will be used.@{par}

GUI is pretty simple. String gadgets URL, File, Proxy, Range and
GMT[Offset] should contain neccessary data. "<" button gadget next
to URL string gadget copies text from clipboard to URL. There's a
getfile gadget which calls ASL file requester in which you can
set output file name. Starting with v1.3, you can use menus to quickly
change some settings. When you change filename (even if URL field is
empty!), HTTPResume will check if file has comment which starts with
valid protocol and if it does it will copy that comment to the URL field.
Also, if you have only directory name in the outfile field (set, for
example using @{b}STARTDIR@{ub} tooltype/argument) HTTPResume will
try to figure out the name of the file from URL (if there is one).
This "smart" behaviour is used if you start HTTPResume from CLI and
if you start it from WB. If you start it from WB, HTTPResume
will only behave this way if you press Return or [SHIFT-]TAB to
confirm your input. If you start it from CLI and only supply URL,
there also has to be @{b}STARTDIR@{ub} argument.@{par}

When you've set everything, you can click on @{i}Start@{ui}. When
you click on @{i}Start@{ui}, HTTPResume will check validity of
the arguments supplied and (if everything is OK) see if it needs
to find out the size of file. If the file exists and @{b}OVERWRITE@{ub} is
not set HTTPResume will try to find the file date and if it does it will
ask server to send rest of the file only if it hasn't been modified
since you downloaded the first part. You can change this behaviour
by setting the icon tooltype @{b}NODATECHECK@{ub} (if started from
WB) or by specifying @{b}NODATECHECK@{ub} in command line (if started
from CLI). When this is done, HTTPResume will try to connect to the
host/proxy and get the requested URL. If an error occurs, HTTPResume
will (depending on the value of @{b}AUTORESUME@{ub}) either fail
or try again (waiting specified number of seconds between retries) until
maximum number of retries is reached. During the download you should be
able to see transfer progress. When the download is finished, the Range
field will be cleared even if an error occured because otherwise it can
cause file to be downloaded improperly.@{par}

Please read @{" version history " link History} since it has some information
that might not be present in other parts of the documentation. You might
also want to read @{" tips & tricks " link Tips} section to find out how
to use HTTPResume easier and better.@{par}

Final words: Please keep in mind that this program is primarily ment
to be used for resuming downloads, and not for complete downloads.
It can be used as HTTPGet, but only when @{b}OVERWRITE@{ub} is
used.@{par}

Many of you might want MUI interface. Please, do @{b}not@{ub} ask
me for that since I am one of those who are not very fond of it.
I have spent some time on making GUI resizable and since this is
very small program, I don't think GUI needs to be better.

@endnode
@node AUTHOR "Author"@{par}

@{line}    My address:@{par}

    @{b}E-mail:@{ub}@{par}

        Andrija Antonijevic <TheAntony\@bigfoot.com>@{par}

    @{b}Home page:@{ub}@{par}

        http://www.bigfoot.com/~TheAntony   or

        http://www.rcub.bg.ac.yu/~antony@{par}

    It's the same page, if one doesn't work, try the other one.@{par}

    @{b}Snail-mail:@{ub}@{par}

        Andrija Antonijevic@{line}
        Bulevar Vuka Karadzica 5/5@{line}
        32000 Cacak@{line}
        Serbia, Yugoslavia@{line}

@endnode
@node HISTORY "History"

@{line}  History@{par}

    @{" 1.3 " link v1.3}@{line}
    @{" 1.2 " link v1.2}@{line}
    @{" 1.1 " link v1.1}@{line}
    @{" 1.0 " link v1.0}@{line}

@endnode
@node v1.3 "v1.3"

@{line}  · 1.3 (16.9.98)

@{lindent 2}

Well, since my free time is severely limited at the moment, it took
whole three months for v1.3 to appear. I hope you like it :)
(HTTPResume, not the delay ;)) I have decided to upload translations
separately because it will speed things up a bit and make it possible
to update them separately. Look for HTTPResume_xxx.lha where xxx
represents name of your language. Just before releasing this version,
I've taken a look at Aminet charts and was pleasantly surprised to
learn that HTTPResume was voted 4th best program on Aminet two weeks
in a row :)@{lindent 0}@{par}

@{lindent 5}   · Added ARexx interface. Now you can
do almost anything you want with it. Feel the power of ARexx :)
(mr_W, Per Dahlberg)@{lindent 0}@{par}

@{lindent 5}   · Real iconification added, i.e.
iconifying to app-icon (mr_W)@{lindent 0}@{par}

@{lindent 5}   · ICOX, ICOY and ICOWIDTH renamed
to ZIPX, ZIPY and ZIPWIDTH. STARTZIPPED now does what STARTICONIFIED
used to to. Sorry, had to be done...@{lindent 0}@{par}

@{lindent 5}   · STARTICONIFIED now means start
app-iconified.@{lindent 0}@{par}

@{lindent 5}   · New ENV based preferences system.
HTTPResume now reads HTTPResume.opts ENV variable and uses
settings found in it.@{lindent 0}@{par}

@{lindent 5}   · Added primitive progressbar(s). Luckily
there's such thing called "evolution" ;)@{lindent 0}@{par}

@{lindent 5}   · Now will tell you if file is already
completely downloaded. Tore A. Longva made me think about this
one more time, and it's finally here :)@{lindent 0}@{par}

@{lindent 5}   · Now refuses to work only if
really neccessary libraries couldn't be opened. F. ex. if
asl.library can't be opened it will just ghost getfile gadget
and keep working.@{lindent 0}@{par}

@{lindent 5}   · Finally added menus. You can now
change some settings, jump to other public screen...@{lindent 0}@{par}

@{lindent 5}   · Improved status line. It will
now indicate if server supports resuming by displaying one of
+-? characters as first character in the status line.@{lindent 0}@{par}

@{lindent 5}   · New option: AUTOSTART. It will
start downloading when HTTPResume gets started (Tore A.
Longva)@{lindent 0}@{par}

@{lindent 5}   · New option: AUTOEXIT. Makes
HTTPResume quit if @{b}AUTOSTART@{ub}ed download was successful
(Tore A. Longva)@{lindent 0}@{par}

@{lindent 5}   · New options: OKSOUND and ERRSOUND.
The former is being played when download ends OK and the latter in
the other case. HTTPResume uses datatypes to play the sounds.@{lindent 0}@{par}

@{lindent 5}   · New option: CREATEICONS.@{lindent 0}@{par}

@{lindent 5}   · New option: NOERRREQ. Doesn't show
error requester, only displays error in window's status bar. Useful
if you want to leave HTTPResume downloading while you're not
there to keep an eye on it.@{lindent 0}@{par}

@{lindent 5}   · New arguments: WINWIDTH and
WINHEIGHT.@{lindent 0}@{par}

@{lindent 5}   · HTTP authorization would be created
OK but sent empty :( Fixed. (Stuart Ayton)@{lindent 0}@{par}

@{lindent 5}   · Fixed a font related bug introducted
in v1.2. Different font sizes now work OK again. (Rolf
Rotvel)@{lindent 0}@{par}

@{lindent 5}   · STARTDIR is no longer required when
no OUTFILE is supplied. STARTDIR now defaults to current directory
(Daniel Schmitt)@{lindent 0}@{par}

@{lindent 5}   · AUTORESUME will be ignored if
servers sends "File not found" or if it doesn't support resume (Daniel
Schmitt)@{lindent 0}@{par}

@{lindent 5}   · Added QUICKQUIT to CLI, too
(Tore A. Longva, Per Dahlberg)@{lindent 0}@{par}

@{lindent 5}   · ZIPWIDTH (former ICOWIDTH) can
now be less then initial window size (Per Dahlberg)@{lindent 0}@{par}

@{lindent 5}   · STARTZIPPED now really starts zipped.
In v1.2 it used to start with normal window and then zip it.
(Tore A. Longva)@{lindent 0}@{par}

@{lindent 5}   · Fixed CLI argument parsing
FONTSIZE bug. I forgot to add /N in the template :I (Per
Dahlberg)@{lindent 0}@{par}

@{lindent 5}   · When file is changed and it has URL
in its comment, URL gets changed even if it's not empty
(Per Dahlberg)@{lindent 0}@{par}

@{lindent 5}   · If f. ex. shortcut for filename
is 'f', lowercase 'f' will activate Filename string gadget (like
it did before) but uppercase 'F' will now call file
requester.@{lindent 0}@{par}

@{lindent 5}   · Important messages (errors, end of
download) will now be displayed even if you're moving windows, icons
etc...@{lindent 0}@{par}

@endnode
@node v1.2 "v1.2"

@{line}  · 1.2 (14.6.98)

@{lindent 2}

This version was supposed to be a minor update, but it got
out of my hands ;) I would like to thank all the people
who voted HTTPResume 12th and a week later even 8th best
program on Aminet. Thank you :)@{lindent 0}@{par}

@{lindent 5}   · Completely localized thanks to ATO. Debug file
is not localized because of obvious reasons :)@{lindent 0}@{par}

@{lindent 5}   · Completely rewrote URL parsing routines.
HTTPResume should be able to cope with any valid URL.@{lindent 0}@{par}

@{lindent 5}   · Added URL and proxy authorization. However,
I did not have a chance to test proxy authorization so I would be very
grateful if someone would tell me if it works.@{lindent 0}@{par}

@{lindent 5}   · HTTPResume now supports redirection (files
that have been moved permanently/temporarily)@{lindent 0}@{par}

@{lindent 5}   · HTTPResume will now check if it should not
write its current status because it might pause download for a while
(f. eg. if you are moving windows, icons etc... around). This will
speed up download in these cases, but it will cause messages that
would otherwise be displayed to be lost. They will still be in debug
file, if it's enabled, though (Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · Added iconification (Ljubomir Jankovic). I
have also added possibility to have user-selectable position and width
of iconify window and also option to start HTTPResume iconified@{lindent 0}@{par}

@{lindent 5}   · Added FONTNAME and FONTSIZE
arguments/tooltypes (Original suggestion to use Screen Text font by
Luca "Hexaä" Longone)@{lindent 0}@{par}

@{lindent 5}   · When not downloading file trough proxy,
HTTPResume would write only its path and not full URL to file's
comment. Fixed (Daniel Schmitt and Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · Added gadget to enable/disable usage
of proxy (Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · Added QUICKQUIT tooltype (Ljubomir Jankovic)@{lindent 0}@{par}

@{lindent 5}   · Changed the way that GUI was resized. It's a
bit smarter now :) (Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · Fixed a bug which would display requester
with a message even if HTTPResume was started from CLI (Mark
Knibbs)@{lindent 0}@{par}

@endnode
@node v1.1 "v1.1"

@{line}  · 1.1 (21.4.98)@{par}

@{lindent 5}   · Improved GUI interactivity. It will now
respond instantly even if the download is taking place. As very nice
side-effect, it is now possible to instantly abort downloads@{lindent 0}@{par}

@{lindent 5}   · Fixed a bug which would sometimes cause
bad range to be downloaded (Renne Nissinen)@{lindent 0}@{par}

@{lindent 5}   · GUI option added@{lindent 0}@{par}

@{lindent 5}   · Added AUTORESUME option (Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · Switched to ASL file requesters as planed
for version 1.0 (Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · Added debug to file option (Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · Added possibility to disable date checking
(Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · Added User-Agent: field@{lindent 0}@{par}

@{lindent 5}   · BUGFIX: When Return or TAB wasn't pressed
after the input in string gadgets was made, HTTPResume wouldn't accept
changed values (Renne Nissinen)@{lindent 0}@{par}

@{lindent 5}   · Improved progress indicator. It will now
also show the percentage and file size on disk, not just of the file
part which is being downloaded (Daniel Schmitt)@{lindent 0}@{par}

@{lindent 5}   · HTTPResume will now write URL to file
comment if there hasn't been one already (Daniel Schmitt)@{lindent 0}@{par}

@{lindent 5}   · HTTPResume will try to be smart and figure
out missing arguments (Daniel Schmitt)@{lindent 0}@{par}

@{lindent 5}   · Added WINX and WINY arguments/tooltypes@{lindent 0}@{par}

@{lindent 5}   · Added STARTDIR argument to CLI, too
(Ljubomir Jankovic)@{lindent 0}@{par}

@endnode
@node v1.0 "v1.0"

@{line}  · 1.0 (2.4.98)@{par}

@{lindent 5}   · Initial version (you don't say :))@{lindent 0}@{par}

@{lindent 5}   · Works ;)@{lindent 0}@{par}

@endnode
@node CREDITS "Credits"

@{line}This program is partially based on HTTPGet by Steven Dick <ssd\@mae.engr.ucf.edu>.@{par}

It also @{b}partially@{ub} uses @{i}GadToolsBox@{ui} by @{b}Jan van den Baard@{ub} (I
have added GUI resizability)@{par}

I would like to thank following people for suggestions/bug reports (in
alphabetical order):@{par}

Torbjörn Aronsson, Stuart Ayton, Per Dahlberg, Ben Hutchings, Ljubomir
Jankovic, Mark Knibbs, Luca Hexaä Longone, Tore A. Longva, mr_W, Renne
Nissinen, Rolf Rotvel, Eric Sauvageau, Daniel Schmitt and Marco De
Vitis.@{par}

This software was translated with the help of ATO, the Amiga Translators'
Organization. ATO is a non-profit organization that translates for the
Amiga community!@{par}

English: Andrija Antonijevic <TheAntony\@bigfoot.com>@{par}

   Amiga Translators' Organization: http://ato.vapor.com/ato/@{line}
                                    mail: ato-info\@ato.vapor.com

@endnode
@node GIFTWARE "Giftware"

@{line}HTTPResume is @{i}giftware@{ui}. If you like it and use it you should
send @{" me " link Author} a gift. I'll leave this to your imagination...@{par}

If you can not afford to send me a gift, at least pay a visit to
@{" my homepage " link Author} and sign my guestbook and say what
you @{b}really@{ub} think about this program.

@endnode
@node REQUIREMENTS "Requirements"

@{line}  · Required:@{par}

     · AmigaOS 2.0+@{line}
     · A TCP/IP stack such as AmiTCP or compatible@{line}

  · Optional:@{par}

     · asl.library@{line}
     · datatypes.library@{line}
     · diskfont.library (required for GUI)@{line}
     · locale.library@{line}
     · ARexx@{line}

@endnode
@node FEATURES "Features"

@{line}@{lindent 5}   · Gives you the ability to continue
interrupted downloads@{lindent 0}@{line}
@{lindent 5}   · Can automaticaly resume download when an
error occurs@{lindent 0}@{line}
@{lindent 5}   · Can be used from CLI or from WB@{lindent 0}@{line}
@{lindent 5}   · It has font adaptable non-MUI
GUI? O:}@{lindent 0}@{line}
@{lindent 5}   · ARexx interface@{lindent 0}@{line}
@{lindent 5}   · Great number of options that make
it very easy to make it work just as you like@{lindent 0}@{line}
@{lindent 5}   · Fully localized@{lindent 0}@{line}

@endnode
@node INTRODUCTION "Introduction"

@{line}I just saw this thing on the 'net and I would like to download it!@{par}

It's 6+ MB? No problem!@{par}

[After a while]@{par}

Almost done... Few kilobytes to go... <Put your favorite reason for
download to be interrupted> Aaaaaaaahhhhhhh! It can do that to me!!!@{par}

I'm sure you've been in this situation at least once. It's nice when
you discover that you have to download the whole thing again just because
few kBs are missing... Of course, you might be lucky to find the same
thing on FTP site and continue downloading from the point it was
interrupted, but it's not always like that. This program will let
you continue interrupted downloads, but only from servers which support
this i.e. servers that use HTTP 1.1 protocol. There are more and more
servers of this type every day, so it should be easy to find them...
I hope O:) (wuarchive.wustl.edu is one of those servers) Anyway, this
program is intended to be just a temporary solution before all Amiga
browsers become capable of supporting this feature. Note that program
is called @{b}HTTP@{ub}Resume. You can @{b}not@{ub} use
it to continue interrupted FTP downloads nor any other kind except
HTTP. HTTPResume will act as HTTPGet in cases when you give it XYZ
protocol and even will let you this only when using proxy.

@endnode
@node DISCLAIMER "Disclaimer"

@{line}@{JCENTER}HTTPResume@{par}

@{JCENTER}Copyright © 1998 Andrija Antonijevic, All Rights Reserved.@{par}

@{JLEFT}
THIS SOFTWARE PACKAGE IS PROVIDED "AS IS" @{b}WITHOUT WARRANTY OF
ANY KIND@{ub}, EITHER EXPRESS OR IMPLIED.  THE ENTIRE RISK AS TO
THE USE OF THIS SOFTWARE PACKAGE IS ASSUMED BY THE USER.  IN NO
EVENT WILL THE AUTHOR BE LIABLE FOR ANY DAMAGES, DIRECT, INDIRECT,
INCIDENTAL, SPECIAL OR CONSEQUENTIAL, RESULTING FROM USE, MISUSE
OR INABILITY TO USE THIS SOFTWARE PACKAGE EVEN IF IT HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.@{par}

The author reserves the right not to develop any future versions
of this software package.@{par}

The author will give his best to solve any problem, if any are
discovered, but is in no way required, or bound to do this.@{par}

This archive can be freely distributed provided its structure is preserved.@{par}

Aminet is explicitly allowed to distribute this archive on its
CDs.@{par}

Magazines have my permission to distribute this program on their cover
disks and CDs, but I would appreciate if a copy of the magazine
would be sent to me in that case.

@endnode
@node INSTALLATION "Installation"

@{line}It's so simple that I didn't include an installation script O;)
Copy @{b}HTTPResume@{ub} (and @{b}HTTPResume.info@{ub}) to any
directory which is in your path, optionally HTTPResume.guide
somewhere and you're ready to go. If there's a catalog for your
language, you can copy it to LOCALE:Catalogs/YourLanguageName.@{par}

@endnode
@node CLI "CLI"

@{line}When started from CLI the template is:@{par}

URL,OUTFILE=OF,PROXY,RANGE,OVERWRITE/S/K,NOCACHE/S/K,
GMTOFFSET=GMT/N,NODATECHECK=NODATE/S/K,AUTORESUME=AUTO/S/K,
ATTEMPTS/N,DELAY/N,STARTDIR=SD,PUBSCREEN=PS,GUI/S/K,WINX/N,
WINY/N,WINWIDTH/N,WINHEIGHT/N,ZIPX/N,ZIPY/N,ZIPWIDTH/N,
STARTICONIFIED=STARTICO/S/K,FONTNAME=FNAME,FONTSIZE=FSIZE/N,
NOPROXY/S/K,AUTOSTART/S/K,AUTOEXIT/S/K,NOENV/S/K,QUICKQUIT/S/K,
OKSOUND,ERRSOUND,STARTZIPPED=ZIPPED/S/K,CREATEICONS=ICONS/S/K,
RXPORTFILE,QUIET/S/K,NOERRREQ/S/K,DEBUG:@{par}

Very important! HTTPResume opens @{b}OUTFILE@{ub} in "append" mode unless
@{b}OVERWRITE@{ub} is specified. Keep this in mind!@{par}

@{b}URL@{ub} is (logically) the URL you want to download/continue downloading.
If you don't set proxy, it has to start with @{b}http://@{ub}! Starting
with v1.2, you can specify username and password in URL.@{par}

@{b}OUTFILE@{ub} (or @{b}OF@{ub}) is the file you want to download/continue
downloading to.@{par}

@{b}PROXY@{ub} is proxy in format http://user:password\@address.of.proxy:port.
(User and password are not neccessary if your proxy doesn't require them)
For example, http://proxy.matf.bg.ac.yu:8080.@{par}

@{b}RANGE@{ub} is range you want to get. Some examples:@{par}

0-99        gets first 100 bytes@{line}
-799        gets first 800 bytes@{line}
100-        gets everything but first 100 bytes (0-99).@{par}

If you don't set @{b}RANGE@{ub} (nor @{b}OVERWRITE@{ub}) HTTPResume will
try to be smart and figure out what range it should get. For example, if
you've set @{b}OUTFILE@{ub} to RAM:Testfile and RAM:Testfile already exists
and its size is 1234 bytes, HTTPResume will ask for range 1234- (because
"0-1233"=1234 bytes are already there!).@{par}

@{b}OVERWRITE@{ub} tells HTTPResume not to look at the size of (possibly) existing
@{b}OUTFILE@{ub} and to overwrite @{b}OUTFILE@{ub} in case it exists (i.e. open the file
in "write" mode).@{par}

@{b}NOCACHE@{ub} speaks for itself. I don't think it makes much sense when
resuming download.@{par}

@{b}GMTOFFSET@{ub}: When resuming download with range not explicitly set by
you, HTTPResume will only resume if file you are downloading is
unmodified since <datestamp on @{b}OUTFILE@{ub}>. Because of that,
HTTPResume needs to know this value. It's number of @{b}minutes@{ub} that
need to be @{b}added@{ub} to @{b}your local time@{ub} to get GMT.
This is a bit unusual, but that's the way this value is stored in
struct Locale on Amiga. Anyway, you don't need to set this value if
you have locale set up correctly on your system since HTTPResume
will find this value for you. For example, Yugoslavia is GMT +1,
so @{b}GMTOFFSET@{ub} is -60 (note the change of sign). Please
note: if it's Daylight Savings Time in your country and you
try to download a file that has @{b}very@{ub} recently been changed
(it's of matter hours), stop the download and then try it again, you
might get the message "File has been changed!" since Amiga's locale
system doesn't know about DST. In that case, try setting NODATECHECK
option an try downloading the file again.@{par}

@{b}NODATECHECK@{ub} (or @{b}NODATE@{ub}) will tell HTTPResume not
to send If-Unmodified-Since field when it sends HTTP request. This
can be useful if you know that the file is same, but the
date stamp isn't.@{par}

@{b}AUTORESUME@{ub} (or @{b}AUTO@{ub}): If the download is interrupted
for some reason (unless you abort it) HTTPResume will try to continue
it again automaticaly.@{par}

@{b}ATTEMPTS@{ub} Number of attempts to resume download. Makes sense only
if used with @{b}AUTORESUME@{ub}. Default is 5 attempts.@{par}

@{b}DELAY@{ub} Seconds to wait between two retries. Makes sense only
if used with @{b}AUTORESUME@{ub}. Default is 10 seconds.@{par}

@{b}STARTDIR@{ub} (or @{b}SD@{ub}) is name of directory in which ASL
file requester will open (WB) or name of the directory to which the
@{b}OUTFILE@{ub} will be appended to make final @{b}OUTFILE@{ub} (CLI).
If (in the latter case) @{b}OUTFILE@{ub} is full path, its contents will
not be appended to @{b}STARTDIR@{ub}, it will remain unchanged.@{par}

@{b}PUBSCREEN@{ub} is name of public screen for HTTPResume to open it's window
on. If invalid name is entered, the window will be opened on default
public screen. (When started from CLI, only makes sense when used
with @{b}GUI@{ub} option)@{par}

@{b}GUI@{ub} Will tell HTTPResume to act as if it was started from WB.
Tooltypes will @{b}not@{ub} be examined!@{par}

@{b}WINX@{ub} and @{b}WINY@{ub} X and Y coordinates of HTTPResume's
window. (When started from CLI, only makes sense when used
with @{b}GUI@{ub} option)@{par}

@{b}WINWIDTH@{ub} and @{b}WINHEIGHT@{ub} width and height of HTTPResume's
window. (When started from CLI, only makes sense when used
with @{b}GUI@{ub} option)@{par}

@{b}ZIPX@{ub}, @{b}ZIPY@{ub} and @{b}ZIPWIDTH@{ub} are X and Y
coordinates and width of HTTPResume's small window size. (When started
from CLI, only makes sense when used with @{b}GUI@{ub} option).
On systems with intuition.library v39+, 65535 for @{b}ZIPX@{ub} and
@{b}ZIPY@{ub} means current window position. Minimum ZIPWIDTH is
92. You can "iconify" HTTPResume by clicking on zoom gadget on its
window. Be very careful: if you change size of HTTPResume's window just
to its title bar, you won't be able to change its size again! (I have
improved this a bit in v1.3 so you hopefully won't get into that kind
of situation from now on) Keyboard shortcuts will still work, though.@{par}

@{b}STARTICONIFIED@{ub} tells HTTPResume to start app-iconified.@{par}

@{b}FONTNAME@{ub} and @{b}FONTSIZE@{ub} are rather obvious. If
specified font size is too big to fit on screen, HTTPResume will
fall back to system default font or even to topaz 8 from ROM.@{par}

@{b}NOPROXY@{ub} will tell HTTPResume to ignore proxy if it's
specified. There's not much point in using it as default tooltype
(you can simply leave PROXY tooltype empty). It's here just
becouse of consistency.@{par}

@{b}AUTOSTART@{ub} HTTPResume starts downloading URL as soon as it
gets started.@{par}

@{b}AUTOEXIT@{ub} HTTPResume automatically exits if @{b}AUTOSTART@{ub}ed
download is successful.@{par}

@{b}NOENV@{ub} Don't try to read HTTPResume.opts ENV variable.@{par}

@{b}QUICKQUIT@{ub} HTTPResume won't ask you if you want to quit, it
will just do it.@{par}

@{b}OKSOUND@{ub} and @{b}ERRSOUND@{ub} are sound samples that will
be played in case of successful (unsuccessful) download. HTTPResume
uses datatypes to play them so you can use any sample format if you
have appropriate datatype. Sound playing is synchronous, so don't
use too long samples...@{par}

@{b}STARTZIPPED@{ub} does what STARTICONIFIED used to do in pre-1.3
versions: HTTPResume's window opens in its small size.@{par}

@{b}CREATEICONS@{ub} Creates icon for the downloaded file if there
already wasn't one.@{par}

@{b}RXPORTFILE@{ub} File in which HTTPResume's will put name of its
ARexx port or "***" if it couldn't create one. RXPORTFILE will always
be written (if you specify this argument, of course), even if file
with such name already exists! You should delete this file after you
examine it. See example ARexx script for... khm... example :)@{par}

@{b}QUIET@{ub} will make HTTPResume show only error messages.@{par}

@{b}NOERRREQ@{ub} HTTPResume won't open error requesters in GUI mode,
but will show errors in window's title line.@{par}

@{b}DEBUG@{ub} File to output HTTPResume debuging information among
which are headers that server returns. If you have a bug report, please
include this file in it! You can set this to anything you like. For example,
if you want to see what's happening, you might want to set
DEBUG=CON://///CLOSE/WAIT (you might want to add some more options, like X
and Y coords, width and height and name of the public screen for CON: to
open on).

@endnode
@node WB "WB"

@{line}When started from Workbench, HTTPResume will examine tooltypes of
its icon.@{par}

Possible tooltypes are@{par}

STARTDIR, PROXY, OVERWRITE, NOCACHE, GMTOFFSET, NODATECHECK,
AUTORESUME, ATTEMPTS, DELAY, PUBSCREEN, WINX, WINY, WINWIDTH,
WINHEIGHT, ZIPX, ZIPY, ZIPWIDTH, STARTICONIFIED, FONTNAME, FONTSIZE,
NOPROXY, AUTOSTART, AUTOEXIT, NOENV, QUICKQUIT, OKSOUND, ERRSOUND,
STARTZIPPED, CREATEICONS, QUIET, NOERRREQ and DEBUG@{par}

All tooltypes have the same meaning as @{" CLI arguments " link CLI} with
the same name.

@endnode
@node BUGS "Bugs"

@{line}If you have a bug report, please check:@{par}

@{lindent 5}   · Have you read the documentation?
;>@{lindent 0}@{line}
@{lindent 5}   · Have you set up proxy correctly?
(Especially the port part!)@{lindent 0}@{line}
@{lindent 5}   · If the stars say that today is not your
day ;)@{lindent 0}@{line}

If you did all this, then please send @{" me " link Author} bug report.
Please send me output of the DEBUG file as it will be very helpful!

@endnode
@node TIPS "Tips & tricks"

@{line}Here are some tips to help you use HTTPResume even easier.@{par}

@{lindent 5}   · Use ENV variable to save you typing
the same thing every time! Look in the @{" usage " link Usage} section
to find out how to do it.@{lindent 0}@{par}

@{lindent 5}   · You don't always have to type URL.
Either use clipboard and "<" gadget to change it or, if file has
URL in its comment, let HTTPResume do the dirty work for you. Just
select the file and HTTPResume will change URL for you.@{lindent 0}@{par}

@{lindent 5}   · Use OKSOUND and ERRSOUND to make
HTTPResume work in background while you do something else and it will
tell you when the download is finished.@{lindent 0}@{par}

@{lindent 5}   · A tip for usage with AWeb. You can add
something like following line into links pop-up menu (everything is in
single line, and there are backticks, not apostrophes!)@{par}

SYSTEM Path:HTTPResume %u `C:RequestFile DRAWER=Work:T PUBSCREEN=AWEB` PUBSCREEN=AWEB AUTOSTART AUTOEXIT GUI@{par}

Of course, change DRAWER to the one you keep you downloads in.
RequestFile is standard command that comes with WB3.0+ This line will
start HTTPResume and (if everything is OK) start downloading URL to
file that you selected using file requester. If the download is
successful, it will exit. Here's an alternative entry:@{par}

SYSTEM Path:HTTPResume %u SD=Work:T PUBSCREEN=AWEB AUTOSTART AUTOEXIT GUI@{par}

This one uses "smart" feature of HTTPResume. It will download the file
to Work:T and find out name of the file from URL. Experiment with this
before you start using it for "real" downloads.@{lindent 0}@{par}

@endnode
