Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: acl82_flush_do…
Commits on Mar 9, 2011
  1. v1.3.3 add option to do hidden redirect to an index file in a directory

    John Foderaro authored
    publish-directory arranges for a index file in a directory to be
    returned when the uri specfies the directory name.  Normally aserve
    returns a redirect to the index file which is then visible to the client.
    There is now an option to simply return the contents of the index
    file rather than do the redirect.
    
    Are there user visible changes in this commit?  yes
    
    Is bootstrapping needed?   no
    
    Are tests included for new features?  yes
    
    Tests run:  t-aserve
    
    <release-note>
    Changes to how directory entities return index files
    
    First any uri from the client that refers to a directory on the disk
    via a directory-entity will be changed (if necessary) to
    end with a slash (/) via redirection.
    Then the new hidden-index-redirect argument to publish-directory
    will determine if a redirect is done to the index file or
    if the contents of the index file are returned immediately.
    
    </release-note>
    
    <documentation>
     this change has been reflected in aserve.html (included with this
     commit).
    </documentation>
    
    Change-Id: I29ea111372fe0611ccd30960051262e122c1dfa4
Commits on Mar 3, 2011
  1. v1.3.2 - delay sending headers for computed entities

    John Foderaro authored
    For a computed entity send the response code and headers as late as possible
    thus allowing one to handle an error in the computed entity function
    by sending a different response, this time describing the error.
    
    Are there user visible changes in this commit?  yes
    
    Is bootstrapping needed?   no
    
    Are tests included for new features?  yes
    
    Tests run:  t-aserve
    
    <release-note>
    delay sending headers for computed entities
    
    Errors can occur when running the computed entity function.
    When an error occurs one would like to send back a different
    response such as '500 - Internal Server Error'.  In order to
    make this possible the http response code and the headers that
    follow that are not immediately sent back to the server
    when  with-http-body starts.   Instead they are held in
    request-reply-stream and are only sent when the computed entity
    function sends data to the stream.  Thus if you do computation
    before sending any data you can avoid having any response
    sent to the client until the computation finishes.
    
    </release-note>
    
    Change-Id: Iba2e494221820e0bbb72326888c45b56f3cc48f7
Commits on Mar 1, 2011
  1. aserve minor doc update

    John Foderaro authored
    Add navigation bar at the top of the aserve documentation.  Fix
    a few typos.
    
    Are there user visible changes in this commit?  yes
    
    Is bootstrapping needed?   no
    
    Are tests included for new features?  no new features
    
    Tests run:  none
    
    Change-Id: I6e0a967db72ef391b194623ad9d7c9c2437030bd
  2. make client-request-read-sequence work with compressed responses

    John Foderaro authored
    Update client-request-read-sequence so that it uses the same
    response stream construction as is used by do-http-request, and
    thus can handle compressed responses.
    Change contributed by marinjh@franz.com.
    
    Are there user visible changes in this commit?  no
    
    Is bootstrapping needed?   no
    
    Are tests included for new features?  No (was tested by code outside aserve)
    
    Tests run:  t-aserve
    
    Change-Id: Icba412cd517a6a68cdc3c57a27dc0f75e0d34518
Commits on Feb 28, 2011
  1. document changes in client for keep-alive and connection

    John Foderaro authored
    rfe9811 -keep-alive and connection arguments to do-http-request
    
    Are there user visible changes in this commit?  yes (doc only)
    
    Is bootstrapping needed?   no
    
    Are tests included for new features?  no new features
    
    Tests run:  none
    
    Change-Id: I21f70aa8031b20beafc36cff6682db4c5cf9afe7
  2. update aserve document to v1.3.1

    John Foderaro authored
    Incorporate changes from the log file
    
    Are there user visible changes in this commit?  yes (in doc only)
    
    Is bootstrapping needed?   no
    
    Are tests included for new features?  no new features
    
    Tests run:  none
    
    Change-Id: Ie4cfb1a0040ecfc380fe800d00741feca8c97ae1
Commits on Feb 25, 2011
  1. add new file need by t-aserve

    John Foderaro authored
    Change-Id: I3e1f74fa9c7042c6a503bb607e8b95371603bf53
  2. @dklayer

    Require :osi module to prevent build failure

    dklayer authored
    Change-Id: I65ccb9d60752704e557c38b48e24ff6a5b98cf32
  3. @dklayer

    Update defpatch for ACL 8.2

    dklayer authored
    Change-Id: Ia9120c12fcc500597e0d56efa91dd54b5b03abbc
  4. v1.3.1 - publish-directory can have a list of destination directories

    John Foderaro authored
    publish-directory can accept a single destination directory or a
    list of destination directories to be searched when a request is given.
    
    Are there user visible changes in this commit?  yes
    
    Is bootstrapping needed?   no
    
    Are tests included for new features?  yes
    
    Tests run:  t-aserve
    
    <release-note>
    v1.3.1 - publish direction can accept a list of destinations
    
    When a request comes in publish-directory will search one
    or more directories for the requested file.
    
    </release-note>
    
    <documentation>
    publish-directory's :destination argument can now be a single
    directory or a list of directories to search.  The first file
    found of the requested name will be returned.
    There are cases where the compressed version of a file is
    returned in place of the uncompressed file.  In this case
    the compressed and uncompressed versions of the file should
    be in the same destination directory.  If they are in
    different directories the last modified time comparison will
    not be made so the compressed version may be returned even if
    it is out of date.
    
    </documentation>
    
    Change-Id: I2b1f0b324fa67c812764ac04f75e2ee7c12bbb6d
Commits on Feb 24, 2011
  1. rfe10416/v1.3.0: return pre-compressed files and ssl protocol specifi…

    John Foderaro authored
    …cation
    
    aserve version 1.3.0
    
    rfe10416 - If a compressed version of a static file is available and
    the client is willing to accept a compressed encoding of the body
    then send the compressed version in place of the actual file.
    
    ssl - allow the user to specify the ssl protocols to be used in
    the client and server ssl streams
    
    Are there user visible changes in this commit?  yes
    
    Is bootstrapping needed?   no
    
    Are tests included for new features?  yes, tests for compressed files
    
    Tests run:  t-aserve
    
    <release-note>
    rfe10416 - compression support
    
    AllegroServe will now return a compressed version of a file object
    in preference to an uncompressed version. See the documentation for
    what must be true for this to occur.
    </release-note>
    
    <release-note>
    ssl protocol selection
    
    One can now specify the ssl protocol used by the server and
    client code in AllegroServe.  The argument is
    :ssl-method to net.aserve:start and net.aserve.client:do-http-request
    The default is still to use any protocol but one might specify
    :tlsv1 to ensure that only the most modern and secure protocol is used.
    </release-note>
    
    <documentation>
    rfe10416 - compression support  documentation additons:
    
    If a request comes in for a file AllegroServe may instead return
    a compressed version of that file.  All of the following must
    be true for this to occur
    1. when the file was published in aserve with publish-file, the
      :compress argument had a true value.
      Note that if a directory is published with publish-directory then
      when a file is discovered by AllegroServe in that directory
      it is published by AllegroServe using publish-file and in this case
      the value of the :compress argument to publish-file is the same
      value as the original :compress argument to publish-directory.
    2. The http client must have specified that it was willing to
       accept a compressed body using the Accept-Encoding header with
       a value that includes "gzip".  Modern web browsers will
       usually pass this Accept-Encoding header.
    3. The compressed version of the file must exist and its name must end
       with a period followed by file type given in the
       compression-file-types slot
       of the *wserver* object.  Currently the default file type is "gz"
       for a gzip'ed file.
       The uncompressed file need not exist [although if the uncompressed
       version does not exist then the compressed version will NOT be
       uncompressed to satisfy a request that can only be satisified
       by the uncompressed version]
    4. If the compressed and uncompressed versions of the file exist
       then the compressed version must be as young or younger than the
       uncompressed file.
    
    Even if all the above is true, if the request comes in with
    an If-Modified-Since header then AllegroServe will return a 304 Not Modified
    if it deems that this file hasn't changed since the If-Modified-Since time.
    
    Note that if all the conditions above are true and a compressed version
    of a file is transmitted to the client, the caller of the client will never see
    the compressed file.  The caller might ask the client to retrieve
    http://server/foo.txt and the client will return the contents of
    foo.txt to the caller even though foo.txt.gz was in fact transmitted
    to the client by AllegroServe.
    </documentation>
    
    <documentation>
    documentation for ssl changes:
    
    add section:
    
    SSL Protocol
    The SSL protocol used for secure communcation has gone through
    a sequence of revisions. The public revisions are SSL v2.0, SSL v3.0
    and SSL v3.1.  There was a renaming as well so SSL v3.1 is officially
    known as TLS v1.0.
    
    When an SSL client connects to an SSL server they will communicate
    using the most recent protocol that both support.
    
    By default AllegroServe's SSL server and client declare that they
    are willing to communicate using SSL v2.0, v3.0 or v3.1 (TLS v1.0).
    If you wish to restrict the server or client to a particular
    protocol you can pass the :ssl-method argument to net.aserve:start
    or net.aserve.client:do-http-request.   At present the only
    meaningful value you would want to pass is :tlsv1 meaning that
    you only want to communicate using TLS v1.0 (SSL v3.1), the most modern
    and secure of the protocols.
    
    In the documention for net.aserve:start and net.aserve.client:do-http-request
    add the :ssl-method argument and reference the SSL Protocol section
    in the document
    
    </documentation>
    
    Change-Id: Ie424378d78f5d273b3028e35d12d7ac52c1b4e17
Commits on Feb 18, 2011
  1. @dklayer

    rfe10416: tweak warn text, turn into 'note'

    dklayer authored
    Can't warn here because it will kill the ACL build (which
    stops for warnings).  Also, the best thing is to pass on the text
    of the condition, rather than a canned message.
    
    Change-Id: I3d05265bc587a79c847ce4940f87f59184310875
  2. @marijnh

    Make the check for 100-continue header less fragile.

    marijnh authored John Foderaro committed
    Using equal directly causes problem when there is other stuff in the
    expect: header. This was causing trouble in AllegroGraph. The code now
    uses a regexp to look for 100-continue.
Commits on Feb 17, 2011
  1. rfe10416: add compression

    John Foderaro authored
    Support server gzip like compressing body before sending to client.
    Support client gzip like uncompressing body as sent from server.
    
    Are there user visible changes in this commit?  yes
    
    Is bootstrapping needed?   no
    
    Are tests included for new features?  yes
    
    Tests run:  t-aserve
    
    <release-note>
    rfe10416 - enable compression
    
    aserve can now compress responses on the fly if request.
    aserve's client code can request a compressed transfer and can
    uncompress the result.
    See documentation for API changes.
    Subsequent releases will increase aserve's capability to cover
    static file transfers.
    
    </release-note>
    
    <documentation>
    rfe10416 - enable compression
    
    (do-http-request &key compress)
     takes a :compress argument (default nil) which if true causes
     the request to the server to include an 'Accept-Encoding: gzip'
     header line.  The server then may choose to return the result
     compressed to the client which will then uncompress it before
     returning the body from do-http-request.
    
    (start &key compress)
    
    The net.aserve:start function takes a :compress argument.  The value
    of this argument is is stored in the enable-compression slot of
    the wserver object.  The default value of this argument is
    true if the deflate module was successfully loaded.
    
    The enable-compression slot of the wserver object is a server wide
    control on whether the server will compress a result before
    sending it back.  If this slot has the value nil then under no
    cicumstance will the server compress a value before returning it.
    If the value is true then the server may or may not compress a
    result before sending it to the client.
    
    (publish-xxx  &key compress )
    
    Each entity has a compress slot as well, set by the
    compress argument of the various publish functions.  The default for
    the :compress argument for all publish functions is true.
    
    Furthermore the compute-strategy generic function that determines
    how a result will be returned is the function that decides if
    compression will be done.
    
    At the present time (with changes planned for the future) the only
    entity that can be compressed is the computed entity. In order
    for compression to occur a number of things must be true
    
    1. the enable-compression slot of the wserver object must be true
    2. the compress slot of the entity must be true
    3. the entity must be a computed entity (for now)
    4. the client must state that it can accept gzip content-encoding
    
    compression will work with any combination of chunking and/or ssl.
    
    </documentation>
    
    Change-Id: I683ff58a12447b8614263cafce5990ee491ed387
Commits on Feb 16, 2011
  1. rfe8891: support chunking with ssl

    John Foderaro authored
    http/1.1 clients and servers prefer to send and receive
    data using chunking.  This change allows Aserve to support
    chunking in the client and server if the connection is ssl
    
    Are there user visible changes in this commit?  yes
    
    Is bootstrapping needed?   no
    
    Are tests included for new features?  no, existing tests test new features
    
    Tests run:  t-aserve
    
    <release-note>
    rfe8891: support chunking with ssl
    
    In the past AllegoServe disabled chunking for an ssl server
    and told users to use the http/1.0 protocol for clients when
    ssl was being used.  Now those restrictions are gone.
    The default for the server will be to use chunking in all
    cases and clients can specify http/1.1 for requests over ssl.
    
    </release-note>
    
    <documentation>
    just a note to the documentation editor to look for references
    to chunking and ssl in the manual and remove the text.
    </documentation>
    
    Change-Id: Id2c2b2e34c1e49c8bfc14f0eb31122d21afa41cc
Commits on Feb 15, 2011
  1. restore code to coding standards

    John Foderaro authored
    A few code snippets had been added that did not conform
    to the coding standard promised in the header. These
    were updated. No functional changes were made.
    
    Are there user visible changes in this commit?  yes/no
    
    Is bootstrapping needed?   no
    
    Are tests included for new features?  no new features
    
    Tests run:  t-aserve
    
    Change-Id: Idddb093e0b8d94fca87170698992a4f18b641508
Commits on Feb 14, 2011
  1. Support :connect method requests in do-http-request

    Mikel Bancroft authored
    Properly handle :connect method requests in do-http-request.
    
    CONNECT requests differ slightly from all other request types in that
    they MUST be passed through a proxy, and the value passed on the
    Request-Line of the message is an Authority (host:port) instead of a
    valid URI.
    
    changes to keep-alive and skip-body semantics in do-http-request.
    Other changes in make-client-http-request.
    
    Are there user visible changes in this commit?  no
    
    Are tests included for new features?  no new features
    
    Tests run:  none
    
    Change-Id: I89f5157782a573b5e96e9281fd7b49fa24e47490
Commits on Feb 10, 2011
  1. @dklayer

    v1.2.71: Print "flush session #" information during debugging only.

    Elliott Johnson authored dklayer committed
    Version bumped by layer.
Commits on Jan 13, 2011
  1. remove .cvsignore files

    Kevin Layer authored
Commits on Dec 8, 2010
Commits on Nov 15, 2010
  1. @dklayer

    require :autozoom for top-level.debug package

    dklayer authored
    This module was implicitly loaded, so this just makes it explicit.  It
    also makes aserve buildable after bug19841 is fixed.
    
    Change-Id: Id23f40204d6f4b0e1fa50ae02451f184c96ca4c6
Commits on Oct 15, 2010
  1. @dklayer

    Remove ChangeLog's from *aserve-other-files*

    dklayer authored
    Change-Id: I1c02d35c0f58f798695ecff7bc25c470b2442186
  2. @dklayer

    Update defpatch for ACL 8.2 aserve.004

    dklayer authored
    Change-Id: Ie8016cdd329f8ce6b718963c4475c71b9a2e3f01
  3. @marijnh

    Add support for Expect: 100-continue requests

    marijnh authored John Foderaro committed
    aserve version: 1.2.70
    The HTTP spec specifies that a client who does not want to send its
    body before the server has confirmed that it is prepared to read it
    can send an Expect: 100-continue header. The server then sends a
    response with a 100 status code, after which the client sends its
    body, and things continue as normal.
    
    We have two concrete uses for this:
    
     1) Curl sends such a header before sending any big body. It will then
        wait for a while before sending its body anyway. This means that,
        by default, curl works with our server, but is much slower than it
        has to be for big requests. We have a work-around of specifying -H
        "Expect:", but it would be better if things just worked.
    
     2) The proxy used between the AG front and backend can't reliably use
        keep-alive when forwarding PUT or POST requests without this
        feature. If it forwards a request body, and the socket it was
        using turned out to be stale, it no longer has the body, and the
        request fails. It can send Expect: 100-continue as a way to test
        whether the server is still listening on the socket it has, before
        actually forwarding the body.
    
    Change-Id: Ibd6c5b3c54883aac0681a577a02cf3d9a750a621
Commits on Oct 6, 2010
  1. update version to 1.2.69

    John Foderaro authored
    Change-Id: I351a38c88998d7c07987e482b6a456800ffe2980
  2. @dklayer

    Update defpatch for 8.2 to v3, aserve 1.2.69

    dklayer authored
    Change-Id: Ic28f58e163ea4cf8590806dd9e6446e02747eafb
  3. @marijnh @dklayer

    rfe10129: Make logging though method specialized on wserver class

    marijnh authored dklayer committed
    This centralizes logmess and brief-logmess to both send their message
    through a log-for-wserver method, which is specialized on the default
    wserver class. This allows client software to log in a different way
    by using its own wserver class.
    
    now AllegroServe version 1.2.69
    
    Change-Id: I9cd37da6f693211e44e45fd1119056f3d6e44812
Commits on Aug 11, 2010
  1. @dklayer

    update defpatch for 1.2.68 patch

    dklayer authored
    Change-Id: I3b9e8ac08c9b1586a3fe3f583f223f41944f9e2e
Commits on Aug 10, 2010
  1. @dklayer

    obey keep-alive requests for PUT and POST requests. Aserve version 1.…

    John Foderaro authored dklayer committed
    …2.68
    
    see bug19575
    
    Change-Id: Ica3f7882e4b3e76c722262d61e3881ac71605425
Commits on Jul 7, 2010
  1. @dklayer

    bump version to 1.2.67, defpatch for 8.2

    dklayer authored
    Change-Id: I1c224cdc24a8e308fe62889c5c6c0ca5b1b95fe3
  2. @dklayer

    Support persistent connections (keep-alive) in aserve client

    John Foderaro authored dklayer committed
    Calls to do-http-request can now specify :keep-alive t and
    do-http-request will return the socket connected to the server if
    the server agrees with the request. That socket connection can be
    used in subsequent calls to do-http-request.
    
    Are there user visible changes in this commit?  yes
    
    Is bootstrapping needed?   no
    
    Are tests included for new features?  yes (in t-aserve.cl)
    
    Tests run:  aserve/test/t-aserve
    
    <release-note>
    rfe9811 - the :keep-alive arguement to do-http-request will now
    cause do-http-request to return a fifth value: a socket connected
    to the server.  That fifth value will be nil if the server refuses
    to keep the connection with the client open.   Even if the server
    agrees to keeps the connection alive it will close it after some
    period of inactivity.
    
    do-http-request takes a :connection argument which is how the
    socket returned by do-http-request should be passed to the
    next do-http-request call.  It is ok if the value of
    the :connection argument is nil or closed socket.  do-http-request
    will notice that the socket is unusable and will create a new one.
    
    </release-note>
    
    <documentation>
    rfe9811 has the documention changes
    </documentation>
    
    <documentation>
    
    Change-Id: Ife1f8a9b7f0a4ba3377750c08534251e7a62aad6
Commits on Apr 23, 2010
  1. @dklayer

    rfe9550: ASDF integration

    dklayer authored
    Contributed by james anderson <james.anderson@setf.de>.
Commits on Mar 26, 2010
  1. @dklayer

    ChangeLog is obsolete

    dklayer authored
  2. @dklayer

    ChangeLog is now obsolete

    dklayer authored
Commits on Mar 23, 2010
  1. @dklayer
Something went wrong with that request. Please try again.