Nobody Picked Me

    tilestrata-etag

    0.1.1 • Public • Published

    tilestrata-etag

    NPM version Build Status Coverage Status

    A TileStrata plugin that adds Conditional GET support using ETags. This will prevent a browser from having to download all the bytes of a tile if the version it has cached is the same as what the server's going to send.

    Sample Usage

    By default, the plugin will skip anything that's bigger than 512kb. This is because ETag calculation takes a non-trivial amount of CPU time on large buffers. This limit is configurable via the "limit" option. Set to null to enable ETags for all sizes, or set to a filesize string or integer, representing the upper limit in bytes.

    var tilestrata = require('tilestrata');
    var etag = require('tilestrata-etag');
    var strata = tilestrata();
     
    // etags enabled for responses up to 512kb
    strata.layer('mylayer').route('t.png')
        .use(/* some provider */)
        .use(etag())
     
    // etags enabled for responses up to 1mb
    strata.layer('mylayer').route('t.png')
        .use(/* some provider */)
        .use(etag({limit: '1mb'}))
     
    strata.listen(8080);

    Contributing

    Before submitting pull requests, please update the tests and make sure they all pass.

    $ npm test

    License

    Copyright © 2015 Natural Atlas, Inc. & Contributors

    Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

    Install

    npm i tilestrata-etag

    DownloadsWeekly Downloads

    13

    Version

    0.1.1

    License

    Apache-2.0

    Last publish

    Collaborators

    • brianreavis