{"id":13804745,"url":"https://github.com/rotatef/aws-sign4","last_synced_at":"2025-05-13T18:32:48.800Z","repository":{"id":10919525,"uuid":"13220076","full_name":"rotatef/aws-sign4","owner":"rotatef","description":"Common Lisp library for Amazon Web Services signing version 4","archived":false,"fork":false,"pushed_at":"2024-01-17T22:40:28.000Z","size":105,"stargazers_count":18,"open_issues_count":4,"forks_count":6,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-11-18T21:46:24.223Z","etag":null,"topics":["common-lisp"],"latest_commit_sha":null,"homepage":null,"language":"Common Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rotatef.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-09-30T16:06:33.000Z","updated_at":"2024-01-27T17:13:56.000Z","dependencies_parsed_at":"2024-05-02T11:07:31.996Z","dependency_job_id":"09bd344e-8a15-41b8-ae7b-f4116336ead4","html_url":"https://github.com/rotatef/aws-sign4","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rotatef%2Faws-sign4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rotatef%2Faws-sign4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rotatef%2Faws-sign4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rotatef%2Faws-sign4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rotatef","download_url":"https://codeload.github.com/rotatef/aws-sign4/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254003447,"owners_count":21997889,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["common-lisp"],"created_at":"2024-08-04T01:00:53.559Z","updated_at":"2025-05-13T18:32:48.196Z","avatar_url":"https://github.com/rotatef.png","language":"Common Lisp","funding_links":[],"categories":["REPLs ##","Interfaces to other package managers"],"sub_categories":["Third-party APIs"],"readme":"Common Lisp library for Amazon Web Services signing version 4.\n==============================================================\n\nProject home: https://github.com/rotatef/aws-sign4\n\nThis library implements the Signature Version 4 Signing Process, as\ndescribed here:\nhttp://docs.aws.amazon.com/general/latest/gr/signature-version-4.html\n\n## Highlights:\n\n* Passes all tests in the test suite from Amazon.\n* Tested on ABCL, ACL, CCL, CLISP and SBCL.\n* Signing only, not tied to a specific http client library.\n\n## Example\n\nSee [example.lisp](example/example.lisp) for an example of using Drakma to make a request to SWF.\n\nS3 supports [presigned URL](http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html).\nThis make is possible to give a web browser temporary access to download an object directly from S3. Example:\n\n```lisp\n(let ((aws-sign4:*aws-credentials*\n        (lambda ()\n          (values \"AKIAIOSFODNN7EXAMPLE\" \"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\"))))\n  (aws-sign4:aws-sign4 :region :eu-west-1\n                       :service :s3\n                       :host \"s3-eu-west-1.amazonaws.com\"\n                       :path \"/some-bucket/some-file\"\n                       :expires 300)) \n=\u003e \"https://s3-eu-west-1.amazonaws.com/some-bucket/some-file?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=AKIAIOSFODNN7EXAMPLE%2F20170908%2Feu-west-1%2Fs3%2Faws4_request\u0026X-Amz-Date=20170908T121925Z\u0026X-Amz-Expires=300\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=42c841837976e9c206f80554b50aa879fdb3aa4f3e6f61934ce8eba436205abf                      \n```\n\n## API\n\nVariable\n```\nAWS-SIGN4:*AWS-CREDENTIALS*\n```\n\nBind this variable to a function returning two values, the access key\nand the secret key.\n\n```\nAWS-SIGN4:AWS-SIGN4 \u0026key ...\n```\n\nCalculates the signature for a http request.\n\nParameters:\n\n* region - String designator for the AWS region. Default \"us-east-1\".\n* service - String designator for the AWS service name.\n* method - String designator for the http method.\n* host - The hostname/endpoint to for the request. Default is the\n  value of the host header.\n* path - The path part of the request URI.\n* params - The query parameters of the URI as an assoc list.\n* headers - The headers as an assoc list as an assoc list.\n* payload - The payload, as a string or vector of octets. Strings are\n  encoded to octets using UTF-8.\n* date-header - The name of the date-header, `:X-AMZ-DATE` or\n  `:DATE`. Default `:X-AMZ-DATE`.\n* request-date - The request date as a local-time timestamp.\n  Default `(LOCAL-TIME:NOW)`.\n* expires - Provides the time period, in seconds, for which the generated presigned URL is valid.\n* scheme - Scheme used in presigned URL, defaults to https.\n\nReturns seven values. Only the two first are needed, the others are\nuseful for debugging.\n\n* If expire is nil or not supplied, the value of `\"Authorization\"` header.\n  If expire is supplied, the presigned URL.\n* Value of `\"X-Amz-Date\"` or `\"Date\"` header.\n* Canonical request\n* String to sign\n* Credential scope\n* Signed headers\n* Signature\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frotatef%2Faws-sign4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frotatef%2Faws-sign4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frotatef%2Faws-sign4/lists"}