Giter VIP home page Giter VIP logo

workbench's Introduction

httpreserve

GoDoc Go Report Card

A tool to check the status of a weblink and also see whether it is archived in the Internet Archive.

Try it out here httpreserve.info

Default Server

The library comes with a default server mode that can be configured for POST and GET requests. POST by default. Default port is :2040 but this can also be selected at runtime.

Image of the in-built HTTPPreserve server

The default server can also be stood up as a web service. The API is documented below.

Client

The httpreserve linstat client is a separate application offering simple access to httpreserve functionality through the command line. See linkstat

The client application is a work in progress. Stay tuned for more information about its capabilities.

API

Primary entry point when the server is running:

http://{httpreserve-ip-address}:{port}/httpreserve

or

http://{httpreserve-ip-address}:{port}/save

GET example:

POST example:

Same access point, but encode url and filename in a <i>application/x-www-form-urlencoded</i> form.

OPTIONS example:

`curl -X OPTIONS http://httpreserve.info | less`

RETURN value:

'application/json' struct to work with, e.g.

        {
        "AnalysisVersionNumber": "0.0.15",
        "AnalysisVersionText": "exponentialDK-httpreserve/0.0.15",
        "SimpleRequestVersion": "httpreserve-simplerequest/0.0.4",
        "Link": "http://example.com/",
        "Title": "example domain",
        "ContentType": "text/html; charset=UTF-8",
        "ResponseCode": 206,
        "ResponseText": "Partial Content",
        "SourceURL": "http://example.com/",
        "ScreenShot": "snapshots are not currently enabled",
        "InternetArchiveLinkEarliest": "http://web.archive.org/web/20020120142510/http://example.com/",
        "InternetArchiveEarliestDate": "2002-01-20 14:25:10 +0000 UTC",
        "InternetArchiveLinkLatest": "http://web.archive.org/web/20230526145524/https://example.com/",
        "InternetArchiveLatestDate": "2023-05-26 14:55:24 +0000 UTC",
        "InternetArchiveSaveLink": "http://web.archive.org/save/http://example.com/",
        "InternetArchiveResponseCode": 302,
        "InternetArchiveResponseText": "Found",
        "RobustLinkEarliest": "<a href='http://web.archive.org/web/20020120142510/http://example.com/' data-originalurl='http://example.com/' data-versiondate='2002-01-20'>HTTPreserve Robust Link - simply replace this text!!</a>",
        "RobustLinkLatest": "<a href='http://web.archive.org/web/20230526145524/https://example.com/' data-originalurl='http://example.com/' data-versiondate='2023-05-26'>HTTPreserve Robust Link - simply replace this text!!</a>",
        "PWID": "urn:pwid:archive.org:2023-05-26T14:55:24Z:page:http://example.com/",
        "Archived": true,
        "Error": false,
        "ErrorMessage": "",
        "StatsCreationTime": "883.557598ms"
        }

Archiving Weblinks

Robust links and Persistent Web Identifiers

HTTPreserve tries to promote the use of emerging standards such as Mementoweb's Robust Links and the Royal Danish Library's Persistent Web-Identifiers (PWIDs).

More information about those can be found at the links below:

License

GNU General Public License Version 3. Full Text

workbench's People

Contributors

ross-spencer avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

workbench's Issues

Goroutine issues (Share by communicating)

Have managed to get control of some of the goroutines being used in the code but i am using buffering to manipulate lists at runtime. Mainly in webapp.go

This seems to be counter to share by communicating ethos.

Have a look at ways this can be fixed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.