|
5 | 5 |
|
6 | 6 | import { S3 } from 'aws-sdk/clients/all' |
7 | 7 |
|
8 | | -// known mime types as recognized by the AWS SDK for .NET and |
9 | | -// AWS Toolkit for Visual Studio |
10 | | -export const knownMimeTypes: Map<string, string> = new Map<string, string>([ |
11 | | - ['.ai', 'application/postscript'], |
12 | | - ['.aif', 'audio/x-aiff'], |
13 | | - ['.aifc', 'audio/x-aiff'], |
14 | | - ['.aiff', 'audio/x-aiff'], |
15 | | - ['.asc', 'text/plain'], |
16 | | - ['.au', 'audio/basic'], |
17 | | - ['.avi', 'video/x-msvideo'], |
18 | | - ['.bcpio', 'application/x-bcpio'], |
19 | | - ['.bin', 'application/octet-stream'], |
20 | | - ['.c', 'text/plain'], |
21 | | - ['.cc', 'text/plain'], |
22 | | - ['.ccad', 'application/clariscad'], |
23 | | - ['.cdf', 'application/x-netcdf'], |
24 | | - ['.class', 'application/octet-stream'], |
25 | | - ['.cpio', 'application/x-cpio'], |
26 | | - ['.cpp', 'text/plain'], |
27 | | - ['.cpt', 'application/mac-compactpro'], |
28 | | - ['.cs', 'text/plain'], |
29 | | - ['.csh', 'application/x-csh'], |
30 | | - ['.css', 'text/css'], |
31 | | - ['.dcr', 'application/x-director'], |
32 | | - ['.dir', 'application/x-director'], |
33 | | - ['.dms', 'application/octet-stream'], |
34 | | - ['.doc', 'application/msword'], |
35 | | - ['.docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'], |
36 | | - ['.dot', 'application/msword'], |
37 | | - ['.drw', 'application/drafting'], |
38 | | - ['.dvi', 'application/x-dvi'], |
39 | | - ['.dwg', 'application/acad'], |
40 | | - ['.dxf', 'application/dxf'], |
41 | | - ['.dxr', 'application/x-director'], |
42 | | - ['.eps', 'application/postscript'], |
43 | | - ['.etx', 'text/x-setext'], |
44 | | - ['.exe', 'application/octet-stream'], |
45 | | - ['.ez', 'application/andrew-inset'], |
46 | | - ['.f', 'text/plain'], |
47 | | - ['.f90', 'text/plain'], |
48 | | - ['.fli', 'video/x-fli'], |
49 | | - ['.gif', 'image/gif'], |
50 | | - ['.gtar', 'application/x-gtar'], |
51 | | - ['.gz', 'application/x-gzip'], |
52 | | - ['.h', 'text/plain'], |
53 | | - ['.hdf', 'application/x-hdf'], |
54 | | - ['.hh', 'text/plain'], |
55 | | - ['.hqx', 'application/mac-binhex40'], |
56 | | - ['.htm', 'text/html'], |
57 | | - ['.html', 'text/html'], |
58 | | - ['.ice', 'x-conference/x-cooltalk'], |
59 | | - ['.ief', 'image/ief'], |
60 | | - ['.iges', 'model/iges'], |
61 | | - ['.igs', 'model/iges'], |
62 | | - ['.ips', 'application/x-ipscript'], |
63 | | - ['.ipx', 'application/x-ipix'], |
64 | | - ['.jpe', 'image/jpeg'], |
65 | | - ['.jpeg', 'image/jpeg'], |
66 | | - ['.jpg', 'image/jpeg'], |
67 | | - ['.js', 'application/x-javascript'], |
68 | | - ['.json', 'application/json'], |
69 | | - ['.kar', 'audio/midi'], |
70 | | - ['.latex', 'application/x-latex'], |
71 | | - ['.lha', 'application/octet-stream'], |
72 | | - ['.lsp', 'application/x-lisp'], |
73 | | - ['.lzh', 'application/octet-stream'], |
74 | | - ['.m', 'text/plain'], |
75 | | - ['.m3u8', 'application/x-mpegURL'], |
76 | | - ['.man', 'application/x-troff-man'], |
77 | | - ['.me', 'application/x-troff-me'], |
78 | | - ['.mesh', 'model/mesh'], |
79 | | - ['.mid', 'audio/midi'], |
80 | | - ['.midi', 'audio/midi'], |
81 | | - ['.mime', 'www/mime'], |
82 | | - ['.mov', 'video/quicktime'], |
83 | | - ['.movie', 'video/x-sgi-movie'], |
84 | | - ['.mp2', 'audio/mpeg'], |
85 | | - ['.mp3', 'audio/mpeg'], |
86 | | - ['.mpe', 'video/mpeg'], |
87 | | - ['.mpeg', 'video/mpeg'], |
88 | | - ['.mpg', 'video/mpeg'], |
89 | | - ['.mpga', 'audio/mpeg'], |
90 | | - ['.ms', 'application/x-troff-ms'], |
91 | | - ['.msi', 'application/x-ole-storage'], |
92 | | - ['.msh', 'model/mesh'], |
93 | | - ['.nc', 'application/x-netcdf'], |
94 | | - ['.oda', 'application/oda'], |
95 | | - ['.pbm', 'image/x-portable-bitmap'], |
96 | | - ['.pdb', 'chemical/x-pdb'], |
97 | | - ['.pdf', 'application/pdf'], |
98 | | - ['.pgm', 'image/x-portable-graymap'], |
99 | | - ['.pgn', 'application/x-chess-pgn'], |
100 | | - ['.png', 'image/png'], |
101 | | - ['.pnm', 'image/x-portable-anymap'], |
102 | | - ['.pot', 'application/mspowerpoint'], |
103 | | - ['.ppm', 'image/x-portable-pixmap'], |
104 | | - ['.pps', 'application/mspowerpoint'], |
105 | | - ['.ppt', 'application/mspowerpoint'], |
106 | | - ['.pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'], |
107 | | - ['.ppz', 'application/mspowerpoint'], |
108 | | - ['.pre', 'application/x-freelance'], |
109 | | - ['.prt', 'application/pro_eng'], |
110 | | - ['.ps', 'application/postscript'], |
111 | | - ['.qt', 'video/quicktime'], |
112 | | - ['.ra', 'audio/x-realaudio'], |
113 | | - ['.ram', 'audio/x-pn-realaudio'], |
114 | | - ['.ras', 'image/cmu-raster'], |
115 | | - ['.rgb', 'image/x-rgb'], |
116 | | - ['.rm', 'audio/x-pn-realaudio'], |
117 | | - ['.roff', 'application/x-troff'], |
118 | | - ['.rpm', 'audio/x-pn-realaudio-plugin'], |
119 | | - ['.rtf', 'text/rtf'], |
120 | | - ['.rtx', 'text/richtext'], |
121 | | - ['.scm', 'application/x-lotusscreencam'], |
122 | | - ['.set', 'application/set'], |
123 | | - ['.sgm', 'text/sgml'], |
124 | | - ['.sgml', 'text/sgml'], |
125 | | - ['.sh', 'application/x-sh'], |
126 | | - ['.shar', 'application/x-shar'], |
127 | | - ['.silo', 'model/mesh'], |
128 | | - ['.sit', 'application/x-stuffit'], |
129 | | - ['.skd', 'application/x-koan'], |
130 | | - ['.skm', 'application/x-koan'], |
131 | | - ['.skp', 'application/x-koan'], |
132 | | - ['.skt', 'application/x-koan'], |
133 | | - ['.smi', 'application/smil'], |
134 | | - ['.smil', 'application/smil'], |
135 | | - ['.snd', 'audio/basic'], |
136 | | - ['.sol', 'application/solids'], |
137 | | - ['.spl', 'application/x-futuresplash'], |
138 | | - ['.src', 'application/x-wais-source'], |
139 | | - ['.step', 'application/STEP'], |
140 | | - ['.stl', 'application/SLA'], |
141 | | - ['.stp', 'application/STEP'], |
142 | | - ['.sv4cpio', 'application/x-sv4cpio'], |
143 | | - ['.sv4crc', 'application/x-sv4crc'], |
144 | | - ['.svg', 'image/svg+xml'], |
145 | | - ['.swf', 'application/x-shockwave-flash'], |
146 | | - ['.t', 'application/x-troff'], |
147 | | - ['.tar', 'application/x-tar'], |
148 | | - ['.tcl', 'application/x-tcl'], |
149 | | - ['.tex', 'application/x-tex'], |
150 | | - ['.tif', 'image/tiff'], |
151 | | - ['.tiff', 'image/tiff'], |
152 | | - ['.tr', 'application/x-troff'], |
153 | | - ['.ts', 'video/MP2T'], |
154 | | - ['.tsi', 'audio/TSP-audio'], |
155 | | - ['.tsp', 'application/dsptype'], |
156 | | - ['.tsv', 'text/tab-separated-values'], |
157 | | - ['.txt', 'text/plain'], |
158 | | - ['.unv', 'application/i-deas'], |
159 | | - ['.ustar', 'application/x-ustar'], |
160 | | - ['.vcd', 'application/x-cdlink'], |
161 | | - ['.vda', 'application/vda'], |
162 | | - ['.vrml', 'model/vrml'], |
163 | | - ['.wasm', 'application/wasm'], |
164 | | - ['.wav', 'audio/x-wav'], |
165 | | - ['.wrl', 'model/vrml'], |
166 | | - ['.xbm', 'image/x-xbitmap'], |
167 | | - ['.xlc', 'application/vnd.ms-excel'], |
168 | | - ['.xll', 'application/vnd.ms-excel'], |
169 | | - ['.xlm', 'application/vnd.ms-excel'], |
170 | | - ['.xls', 'application/vnd.ms-excel'], |
171 | | - ['.xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'], |
172 | | - ['.xlw', 'application/vnd.ms-excel'], |
173 | | - ['.xml', 'text/xml'], |
174 | | - ['.xpm', 'image/x-xpixmap'], |
175 | | - ['.xwd', 'image/x-xwindowdump'], |
176 | | - ['.xyz', 'chemical/x-pdb'], |
177 | | - ['.zip', 'application/zip'], |
178 | | - ['.m4v', 'video/x-m4v'], |
179 | | - ['.webm', 'video/webm'], |
180 | | - ['.ogv', 'video/ogv'], |
181 | | - ['.xap', 'application/x-silverlight-app'], |
182 | | - ['.mp4', 'video/mp4'], |
183 | | - ['.wmv', 'video/x-ms-wmv'] |
184 | | -]) |
185 | | - |
186 | 8 | export async function testBucketExists(s3Client: S3, bucketName: string): Promise<boolean> { |
187 | 9 | try { |
188 | 10 | await s3Client.headBucket({ Bucket: bucketName }).promise() |
|
0 commit comments