zs3:head needs to pass amz security headers
[zs3.git] / package.lisp
blob425204816548f8d90d05bcdad5de2a10c7e547cb
1 ;;;;
2 ;;;; Copyright (c) 2008, 2015 Zachary Beane, All Rights Reserved
3 ;;;;
4 ;;;; Redistribution and use in source and binary forms, with or without
5 ;;;; modification, are permitted provided that the following conditions
6 ;;;; are met:
7 ;;;;
8 ;;;; * Redistributions of source code must retain the above copyright
9 ;;;; notice, this list of conditions and the following disclaimer.
10 ;;;;
11 ;;;; * Redistributions in binary form must reproduce the above
12 ;;;; copyright notice, this list of conditions and the following
13 ;;;; disclaimer in the documentation and/or other materials
14 ;;;; provided with the distribution.
15 ;;;;
16 ;;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
17 ;;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 ;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 ;;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
20 ;;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 ;;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
22 ;;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 ;;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 ;;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25 ;;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 ;;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 ;;;;
28 ;;;; package.lisp
30 (defpackage #:zs3
31 (:use #:cl)
32 ;; In documentation order and grouping:
33 ;; Credentials
34 (:export #:*credentials*
35 #:access-key
36 #:secret-key
37 #:file-credentials)
38 ;; Buckets
39 (:export #:all-buckets
40 #:creation-date
41 #:name
42 #:all-keys
43 #:bucket-exists-p
44 #:create-bucket
45 #:delete-bucket
46 #:bucket-location
47 #:bucket-lifecycle
48 #:lifecycle-rule)
49 ;; Bucket queries
50 (:export #:query-bucket
51 #:continue-bucket-query
52 #:bucket-name
53 #:keys
54 #:common-prefixes
55 #:prefix
56 #:marker
57 #:delimiter
58 #:truncatedp
59 #:last-modified
60 #:etag
61 #:size
62 #:owner
63 #:storage-class)
64 ;; Objects
65 (:export #:get-object
66 #:get-vector
67 #:get-string
68 #:get-file
69 #:put-object
70 #:put-vector
71 #:put-string
72 #:put-file
73 #:put-stream
74 #:copy-object
75 #:delete-object
76 #:delete-objects
77 #:delete-all-objects
78 #:object-metadata
79 #:set-storage-class
80 #:restore-object
81 #:object-restoration-status)
82 ;; Access Control
83 (:export #:get-acl
84 #:put-acl
85 #:grant
86 #:acl-eqv
87 #:*all-users*
88 #:*aws-users*
89 #:*log-delivery*
90 #:acl-email
91 #:acl-person
92 #:me
93 #:make-public
94 #:make-private)
95 ;; Logging
96 (:export #:enable-logging-to
97 #:disable-logging-to
98 #:enable-logging
99 #:disable-logging
100 #:logging-setup)
101 ;; Misc.
102 (:export #:*use-ssl*
103 #:*use-keep-alive*
104 #:*keep-alive-stream*
105 #:with-keep-alive
106 #:*s3-endpoint*
107 #:*s3-region*
108 #:*use-content-md5*
109 #:*signed-payload*
110 #:make-post-policy
111 #:head
112 #:authorized-url
113 #:resource-url)
114 ;; Util
115 (:export #:octet-vector
116 #:now+
117 #:now-
118 #:file-etag
119 #:parameters-alist
120 #:clear-redirects)
121 ;; Conditions
122 (:export #:slow-down
123 #:no-such-bucket
124 #:no-such-key
125 #:access-denied
126 #:signature-mismatch
127 #:precondition-failed
128 #:invalid-bucket-name
129 #:bucket-exists
130 #:too-many-buckets
131 #:ambiguous-grant
132 #:bucket-not-empty
133 #:invalid-logging-target
134 #:key-too-long
135 #:request-time-skewed
136 #:operation-aborted
137 #:no-such-lifecycle-configuration
138 #:restore-already-in-progress)
139 ;; Cloudfront distribution management
140 (:export #:status
141 #:origin-bucket
142 #:domain-name
143 #:cnames
144 #:default-root-object
145 #:logging-bucket
146 #:logging-prefix
147 #:enabledp
148 #:comment
149 ;; Queries & updates
150 #:all-distributions
151 #:create-distribution
152 #:delete-distribution
153 #:refresh
154 #:enable
155 #:disable
156 #:ensure-cname
157 #:remove-cname
158 #:set-comment
159 #:distributions-for-bucket
160 ;; Invalidations
161 #:invalidate-paths
162 ;; Conditions
163 #:distribution-error
164 #:distribution-error-type
165 #:distribution-error-code
166 #:distribution-error-http-status-code
167 #:distribution-error-detail
168 #:distribution-not-disabled
169 #:cname-already-exists
170 #:too-many-distributions)
171 (:shadow #:method)
172 (:shadowing-import-from #:cxml
173 #:with-element
174 #:text
175 #:attribute
176 #:attribute*))