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

@node MAIN "Welcome to HTTPResume"

@{line}@{JCENTER}HTTPResume 1.7@{line}
@{JCENTER}@{b}Dedicated to my father, may he rest in peace@{ub}@{par}

@{JCENTER}Copyright © 1998-1999 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 not
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. Also, if you double-click into outfile string
gadget, outfile field will be reconstructed using STARTDIR and
current filename from URL. If you start it from WB, HTTPResume
will only behave this way if you press Return or [SHIFT-]TAB to
confirm your input.@{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}

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

@{line}    My address:@{par}

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

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

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

        http://www.bigfoot.com/~TheAntony/HTTPResume/@{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.7 " link v1.7}@{line}
    @{" 1.6 " link v1.6}@{line}
    @{" 1.5 " link v1.5}@{line}
    @{" 1.4 " link v1.4}@{line}
    @{" 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.7 "v1.7"

@{line}  · 1.7 (25.8.99)

@{lindent 2}

Well, it's been a while... Anyway, new version is here and in
it:@{par}

@{lindent 5} · HTTPS support with and without proxy (direct or through
SSL tunnel). HTTPResume supports MiamiSSL and AmiSSL (the latter is
available from my homepage). Also, new option: @{" SSL " link CLI} to
force it to use one of these two SSL packages.@{lindent 0}@{par}

@{lindent 5}   · New option: AUTOREFERER to automatically change and send
Referer: field with every request. This has become neccesary since
many sites now allow download from their site only if request for the
file has appropriate Referer: field, otherwise they usually redirect
you to their main page (Ljubomir Jankovic)@{lindent 0}@{par}

@{lindent 5}   · HTTPResume window is now app window. When you
drop an icon into it, it acts as if you chose file whose icon is
dropped in file requester. I meant to add this ages ago, but thought
"who needs it, anyway?". Ivan Golubovic kindly reminded me about
DOpus5 users :)@{lindent 0}@{par}

@{lindent 5}   · Cursor is now turned off during the download and
turned on afterwards in CLI to speed up output a bit (Jostein
Klemmetsrud)@{lindent 0}@{par}

@{lindent 5}   · Double click into Referer string gadget now
puts there everything except filename, not just host name.@{lindent 0}@{par}

@{lindent 5}   · Number, string and public screen requesters are
font sensitive now. Thank Serge Tumanyan for bugging me to add it :)
@{lindent 0}@{par}

@{lindent 5}   · When you start download in HTTPResume, only Start
gadget gets ghosted whilst all string gadgets don't. They really
should be ghosted since HTTPResume doesn't accept input in them while
it's downloading but I thought it'd be too ugly to ghost almost
everything. Mark Knibbs suggested a new option, so here it is:
GHOST (where, where? ;))@{lindent 0}@{par}

@{lindent 5}   · New option: BEVEL. It draws a beveled box in main
window. Try it, maybe you'll like it (mr_W)@{lindent 0}@{par}

@{lindent 5}   · New ARexx command: QUERY WINDOWTITLE. Returns
current window title (Matthias Böcker)@{lindent 0}@{par}

@{lindent 5}   · There are a few new icons in the Icons directory
(Christian Grande, u-ROSH tHA bEAUTY - kING and Roy)@{lindent 0}@{par}

@endnode
@node v1.6 "v1.6"

@{line}  · 1.6 (24.4.99)

@{lindent 2}

This version was ready for almost three weeks now, but I managed to
release it only now. It introduces some new features and some internal
improvements. Additionally, this version requires v2.0 of catalog
files, so your old catalogs won't work until they're updated.@{lindent 0}@{par}

@{lindent 5}   · Includes a bugfix which was implemented in v1.5a
patch. It fixed very nasty bug which occured when TIMEOUT option was
used. If HTTPResume resumed download of a file and timeout occured it
would stop and try to resume download again, but it wouldn't update
range information so file wouldn't be downloaded properly.
(Didier Giron)@{lindent 0}@{par}

@{lindent 5}   · Doesn't send port number in Host: header any more unless
it's explicitly specified. This helps with some servers like UK's Freeserve
which expect Host: header without port number (they @{b}should@{ub} handle
it properly)@{lindent 0}@{par}

@{lindent 5}   · New option: FORCECOMMENT which makes HTTPResume always
write comment to the file (Ognjen Nedeljkovic)@{lindent 0}@{par}

@{lindent 5}   · New option: @{" PROXIES " link CLI} which allows
HTTPResume to automatically choose proxy depending of your
hostname/IP address (Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · HTTPResume now plays OK/error sounds asynchronously, 
so you can use the whole Hallelujah theme when the transfer is
finished successfully, without waiting ;)@{lindent 0}@{par}

@{lindent 5}   · Cleaned some of the support routines, they should use
a bit less memory now.@{lindent 0}@{par}

@{lindent 5}   · Excluded GetAllHTML.rexx by Chris S. Handley from the
archive since it's separate archive on Aminet now
(@{b}comm/tcp/GetAllHTML.lha@{ub})@{lindent 0}@{par}

@{lindent 5}   · New ARexx command: [QUERY and SET] FORCECOMMENT@{lindent 0}@{par}

@endnode
@node v1.5 "v1.5"

@{line}  · 1.5 (22.02.99)@{par}

@{lindent 5}   · Comment on file is now set as soon as it's opened which
means that if you reset your Amiga or there's a crash, file will still
have its comment set (Matteo Cavalleri)@{lindent 0}@{par}

@{lindent 5}   · Gadgets for string, password and number input are now
properly displayed when used with VisualPrefs.@{lindent 0}@{par}

@{lindent 5}   · HTTPResume's main window now takes into consideration
when bottom border's height is changed using VisualPrefs. Thanks to
Massimo Tantignone for the tip (reported by Matteo Cavalleri)@{lindent 0}@{par}

@{lindent 5}   · New option: KEEPDATE which keeps the same date on file
as it is on server (Chris S. Handley)@{lindent 0}@{par}

@{lindent 5}   · New options: @{" TIMEOUT " link CLI} and
@{" MAXTIMEOUTS " link CLI} that set the timeout after which the
download will be retried and maximum number of tries (Daniel Schmitt)@{lindent 0}@{par}

@{lindent 5}   · New options: MINCPS and IGNORECPS which specify the
lowest allowed CPS and how many seconds at the beginning not to check
if CPS is lower than MINCPS, respectively@{lindent 0}@{par}

@{lindent 5}   · New option: ONLYIFUPDATED which will download a file only
if it's newer than the one on the user's HD. This option is valid only
when used in combination with OVERWRITE (Chris S. Handley)@{lindent 0}@{par}

@{lindent 5}   · Username and password are now also base64-encoded when
user enters them (Jostein Klemmetsrud)@{lindent 0}@{par}

@{lindent 5}   · When user aborts the download, HTTPResume reports
"Aborted!" instead of "Socket read error!" (again)@{lindent 0}@{par}

@{lindent 5}   · NOWINACTIVATE and CREATEICONS were swapped in v1.4 CLI
template. Fixed (Ljubomir Jankovic)@{lindent 0}@{par}

@{lindent 5}   · New ARexx commands: [QUERY and SET] IGNORECPS, KEEPDATE,
MAXTIMEOUTS, MINCPS, ONLYIFUPDATED, TIMEOUT@{lindent 0}@{par}

@endnode
@node v1.4 "v1.4"

@{line}  · 1.4 (16.12.98)

@{lindent 2}

After a long while (some people would say "too long" :)) here's
HTTPResume v1.4. It will have a hard time trying to beat its
predecessor as it was the first HTTPResume version to be voted the best
program on Aminet that week :)@{lindent 0}@{par}

@{lindent 5}   · HTTPResume now has almost 50 options!@{lindent 0}@{par}

@{lindent 5}   · Included Chris S. Handley's ARexx script which recursively
downloads the whole web page for you. Read its documentation for more
information.@{lindent 0}@{par}

@{lindent 5}   · New option: @{" AUTOQUIT " link CLI}.@{lindent 0}@{par}

@{lindent 5}   · New option: @{" REFERER " link CLI}. Try double-clicking
into string gadget when there's a URL in URL gadget.@{lindent 0}@{par}

@{lindent 5}   · New option: NOWINACTIVATE - window won't be activated on
startup (Tore A. Longva)@{lindent 0}@{par}

@{lindent 5}   · New option: @{" TREE " link CLI} which helps to preserve
original directory structure (Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · New option @{" MAXNAMELEN " link CLI} to inteligently
limit filename length (Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · You can convert characters in filename (f. ex. " " to "_")
using new options: CONVFROM and CONVTO (Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · Added TO as synonim for OUTFILE (Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · New option: @{" USESYSFONT " link CLI}@{lindent 0}@{par}

@{lindent 5}   · New option: AREXXCONSOLE to set where ARexx input/output
goes.@{lindent 0}@{par}

@{lindent 5}   · New option: SETTINGS to specify alternate configuration file
(Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · You can now save settings to ENV[ARC]: or wherever you like
using menu. You can then double-click on settings file's icon which will
start HTTPResume and make it use settings from that file (Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · HTTPResume will now open a requester to ask you for username
and password on sites which require authorization so you don't have to embed
it into URL like you had to in previous versions (Jostein Klemmetsrud)@{lindent 0}@{par}

@{lindent 5}   · HTTPResume status line now shows how much time is left until
download is finished (Steve Bicknell)@{lindent 0}@{par}

@{lindent 5}   · Added callback hooks to many string gadgets. For example,
it is now possible to use RAmiga+U to jump to URL gadget while some other
string gadget is activated (Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · New menu item: Execute ARexx script. Double-clicking
into string gadget when requester opens brings on file-requester.@{lindent 0}@{par}

@{lindent 5}   · Double-click on outfile gadget will recreate filename (for
example, when you change URL)@{lindent 0}@{par}

@{lindent 5}   · HTTPResume now uses its icon for AppIcon (Luca "Hexaae"
Longone)@{lindent 0}@{par}

@{lindent 5}   · HTTPResume now uses memory pools which should reduce memory
fragmentation.@{lindent 0}@{par}

@{lindent 5}   · Changed SDK from AmiTCP to Miami. There are no limitations
as result of this, only improvements.@{lindent 0}@{par}

@{lindent 5}   · It is now possible to start HTTPResume without TCP stack.
This will also enable you to quit your TCP stack without quitting HTTPResume.@{lindent 0}@{par}

@{lindent 5}   · Changed the way string gadgets resize yet again (Mark Knibbs)@{lindent 0}@{par}

@{lindent 5}   · The last character in settings file wasn't read. Fixed
(Tore A. Longva)@{lindent 0}@{par}

@{lindent 5}   · Checkmark symbol in menus weren't properly updated although
everything worked fine. Fixed.@{lindent 0}@{par}

@{lindent 5}   · GUI is tightened up a bit (many people :))@{lindent 0}@{par}

@{lindent 5}   · You can now change STARTDIR from menu.@{lindent 0}@{par}

@{lindent 5}   · New ARexx commands: [QUERY and SET] STARTDIR, TREE,
CONVFROM, CONVTO, MAXNAMELEN, REFERER, USESYSFONT, NOWINACTIVATE,
AREXXCONSOLE. Only QUERY: VERSION.@{lindent 0}@{par}

@{lindent 5}   · Fixed a bug which was inherited from HTTPGet, but would
occur very rarely.@{lindent 0}@{par}

@{lindent 5}   · Fixed function which encodes URLs. It had problems with
characters with ASCII code greater than 128. @{lindent 0}@{par}

@{lindent 5}   · Removed Aborted! requester (Chris S. Handley)@{lindent 0}@{par}

@{lindent 5}   · Included few icons made by HTTPResume users.@{lindent 0}@{par}

@{lindent 5}   · There's a @{" web page " link Author} for HTTPResume now.@{lindent 0}@{par}

@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, Steve Bicknell, Matthias Böcker,
Christian Britz, Matteo Cavalleri, Per Dahlberg, Dámaso Domínguez,
Didier Giron, Ivan Golubovic, Christian Grande, Chris S. Handley, Ben
Hutchings, Ljubomir Jankovic, Jostein Klemmetsrud, Mark Knibbs,
Andrzej Kowalski, Holger Kruse, Luca Hexae Longone, Tore A. Longva,
mr_W, Ognjen Nedeljkovic, Renne Nissinen, Roj, Rolf Rotvel, Roy, Eric
Sauvageau, Daniel Schmitt, Massimo Tantignone, Serge Tumanyan, u-ROSH
tHA bEAUTY (kING), Marco De Vitis and Zap.@{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}

@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}
     · MiamiSSL or AmiSSL@{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 stop and restart download if settable timeout
is exceeded or if CPS is lower than allowed@{lindent 0}@{line}
@{lindent 5}   · HTTPS support, both with and without proxy@{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-1999 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,TREE/N,CONVFROM,CONVTO,
MAXNAMELEN/N,REFERER,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,
USESYSFONT/S/K,NOPROXY/S/K,AUTOSTART/S/K,AUTOEXIT/S/K,AUTOQUIT/N,
NOENV=NOSETTINGS/S/K,QUICKQUIT/S/K,OKSOUND,ERRSOUND,
STARTZIPPED=ZIPPED/S/K,NOWINACTIVATE/S/K,CREATEICONS=ICONS/S/K,
RXPORTFILE,AREXXCONSOLE=REXXCON,ONLYIFUPDATED=IFUPDATED/S/K,
KEEPDATE/S/K,TIMEOUT/N,MAXTIMEOUTS/N,MINCPS/N,IGNORECPS/N,
QUIET/S/K,NOERRREQ/S/K,TO/K,SETTINGS,DEBUG,FORCECOMMENT/S/K,
PROXIES,GHOST/S/K,BEVEL/S/K,SSL,AUTOREFERER/S/K@{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}TREE@{ub} allows you to preserve directory structure from the URL.
For example, if you want to download
http://wuarchive.wustl.edu/pub/aminet/comm/www/HTTPResume.lha and you
specify TREE=2, HTTPResume will skip two directories and download to
STARTDIR/comm/www/HTTPResume.lha. Directories that don't exist
@{b}will be created@{ub}! If TREE is -1, this option is ignored.@{par}

@{b}CONVFROM@{ub} and @{b}CONVTO@{ub} can be used to convert characters
in filename. For example, specifying CONVFROM=a and CONVTO=b would
convert all letters "a" to "b". This is case sensitive! If length
of CONVFROM is not equal to CONVTO, both values will be cleared!@{par}

@{b}MAXNAMELEN@{ub} lets you limit the filename length. Note
that if you set this to, for example, 15, HTTPResume will copy
first 15 - 3 = 12 characters and use URL to calculate last three
characters. This should make sure that the same URL gets downloaded
to the same file and that http://first.host/verylongfilename1
and http://second.host/verylongfilename2 don't end up with same
OUTFILE.@{par}

@{b}REFERER@{ub} sets Referer: HTTP header field. Some sites allow
download only if link to the file was on their HTML page. When you
click on a link on a page, browsers send URL of that page in
Referer: field (unless you turn it off, f. ex. it's "Browse anonymously"
in AWeb). HTTPResume doesn't send Referer: field by default, but
if you find a link that requires this field, use this option to
set it. This field will always be sent until you clear it. If URL
string gadget contains valid URL, double-click into referer string
gadget will copy host part (f. ex. if URL is http://www.abc.com/some/page.html
and you double-click into the string gadget, Referer: field will be
http://www.abc.com/@{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 screen font or even to topaz 8 from ROM.@{par}

@{b}USESYSFONT@{ub} If no FONTNAME is given HTTPResume uses screen
font. If you specify this option it will use default system font
instead of screen font.@{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
because 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}AUTOQUIT@{ub} If 0, HTTPResume quits after first download, successful
or not. If 1, quits after first successful download.@{par}

@{b}NOENV@{ub} (or @{b}NOSETTINGS@{ub}) Don't try to read settings file.@{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.@{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}NOWINACTIVATE@{ub} HTTPResume's window won't be active when it's
started.@{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}AREXXCONSOLE@{ub} (or @{b}REXXCON@{ub}) sets input/output for
ARexx scripts started from HTTPResume. Default is
CON://///AUTO/CLOSE/WAIT@{par}

@{b}ONLYIFUPDATED@{ub}: HTTPResume will download a file only if it's
newer than the one on user's HD. This option is valid only when used
in combination with OVERWRITE.@{par}

@{b}KEEPDATE@{ub} keeps the same date on file as it is on server.@{par}

@{b}TIMEOUT@{ub} and @{b}MAXTIMEOUTS@{ub} set the timeout after which
the download will be retried and maximum number of tries. If TIMEOUT
is positive, after it's exceeded the transfer will be stopped and
retried only if server supports resuming. If it's negative, the transfer
will be stopped and restarted even if server doesn't support resuming.
I don't see why would you need the latter, but I implemented it just
in case someone wants it that way.@{par}

@{b}MINCPS@{ub} and @{b}IGNORECPS@{ub} specify the lowest allowed
CPS and how many seconds at the beginning not to check if CPS is lower
than MINCPS, respectively. If MINCPS is positive, it will only be
taken into consideration if server supports resuming. If it's
negative, it will always be used even if server doesn't support
resuming.@{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}TO@{ub} is synonim for @{b}OUTFILE@{ub}.@{par}

@{b}SETTINGS@{ub} Specifies which settings file to load. Deafult is
ENV:HTTPResume.opts.@{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).@{par}

@{b}FORCECOMMENT@{ub} tells HTTPResume to always write comment to the
file, even if it already had a comment.@{par}

@{b}PROXIES@{ub} specifies a file which describes what proxy HTTPResume
should use based on your hostname/IP address. If specified file can be
opened and parsed successfully, PROXY argument will be ignored if it's
specified. On the other hand, if PROXIES file for some reason can't be
opened, HTTPResume will fall back to PROXY argument. Example of
PROXIES file:@{par}

--- 8< ---@{line}
; If a line starts with ; it is ignored@{line}
;@{line}
; For testing purposes@{line}
;@{line}
localhost	http://localhost:8080/@{line}
;@{line}
; Local network@{line}
;@{line}
192.168.*.*	http://big.bad.proxy:8080/@{line}
;@{line}
; University network@{line}
;@{line}
*.bg.ac.yu	http://ultra-slow-proxy.bg.ac.yu:8080/@{line}
;@{line}
; Otherwise, use this proxy.@{line}
;@{line}
*		http://proxy.domen.net:8080/@{line}
--- >8 ---@{par}

Second column contains proxy entry which will be used if AmigaDOS
pattern in the first column matches your hostname or IP address.
Columns are separated by certain number of tabs or spaces.
You can save this file as f. ex. ENV:HTTPResume.proxies and add
PROXIES=ENV:HTTPResume.proxies to your SETTINGS file.@{par}

@{b}GHOST@{ub}When Start gadget is pressed, HTTPResume will ghost
all gadgets that it doesn't accept input in while it's downloading.@{par}

@{b}BEVEL@{ub}Draws a beleved box in the main window.@{par}

@{b}SSL@{ub}When HTTPResume downloads needs to open a SSL package, it
first tries MiamiSSL and, if it fails, AmiSSL. You can force it to try
to open just one of these two, if you want. Accepted values are
MiamiSSL and AmiSSL.@{par}

@{b}AUTOREFERER@{ub}Automatically changes and sends Referer: field with
every request. Many sites now allow download from their site only if
request for the file has appropriate Referer: field.@{par}

@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, TREE, CONVFROM, CONVTO, MAXNAMELEN,
REFERER, PUBSCREEN, WINX, WINY, WINWIDTH, WINHEIGHT, ZIPX, ZIPY,
ZIPWIDTH, STARTICONIFIED, FONTNAME, FONTSIZE, USESYSFONT, NOPROXY,
AUTOSTART, AUTOEXIT, AUTOQUIT, NOENV, QUICKQUIT, OKSOUND, ERRSOUND,
STARTZIPPED, NOWINACTIVATE, CREATEICONS, AREXXCONSOLE, ONLYIFUPDATED,
KEEPDATE, TIMEOUT, MAXTIMEOUTS, MINCPS, IGNORECPS, QUIET, NOERRREQ,
SETTINGS, DEBUG, FORCECOMMENT, PROXIES, GHOST, BEVEL, SSL,
AUTOREFERER.@{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}   · If you are a DOpus5 user, use the fact that
HTTPResume's main window is an app window: drop files into
it!@{lindent 0}@{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 double-click in outfile string gadget to recreate
filename.@{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
