Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 10-add-new-route-for-denser-app-to-provide-params-format-and-mode-add-new-image-format-avif
  • 12-change-default-format-to-webp
  • 20180330-update-blacklist
  • 20180717-dmca
  • 20180817-dmca
  • 20180907-dmca
  • 20181029-dmca
  • 20181113-dmca
  • 28-img-missing
  • better-url-generation
  • caching-headers
  • develop
  • dmca-20180213
  • dmca-20200229
  • emptycommit
  • feature-cloudfront
  • feature-refactor
  • feature-username-upload-blacklist
  • fix-blacklist
  • fix-nsp
  • fix-nsp-issue-20180309
  • goldibex-patch-1
  • master
  • modern-api
  • revert-modern-api-and-apply-build-fixes
  • revert-new-api
  • rishi556/PROOF_OF_CONCEPT_predefined_node_image_sharing
  • rishi556/auto-image-type
  • rishi556/fix-gif-resize
  • rishi556/heic_support
  • rishi556/update-deps
  • sane-image-size-default
  • steemit-dmca-update
  • steemit/dmca-takedown-3082
  • steemit/dmca-takedown-update
  • takedown-20180309
36 results

Target

Select target project
  • hive/imagehoster
1 result
Select Git revision
  • 10-add-new-route-for-denser-app-to-provide-params-format-and-mode-add-new-image-format-avif
  • 12-change-default-format-to-webp
  • 20180330-update-blacklist
  • 20180717-dmca
  • 20180817-dmca
  • 20180907-dmca
  • 20181029-dmca
  • 20181113-dmca
  • 28-img-missing
  • better-url-generation
  • caching-headers
  • develop
  • dmca-20180213
  • dmca-20200229
  • emptycommit
  • feature-cloudfront
  • feature-refactor
  • feature-username-upload-blacklist
  • fix-blacklist
  • fix-nsp
  • fix-nsp-issue-20180309
  • goldibex-patch-1
  • master
  • modern-api
  • revert-modern-api-and-apply-build-fixes
  • revert-new-api
  • rishi556/PROOF_OF_CONCEPT_predefined_node_image_sharing
  • rishi556/auto-image-type
  • rishi556/fix-gif-resize
  • rishi556/heic_support
  • rishi556/update-deps
  • sane-image-size-default
  • steemit-dmca-update
  • steemit/dmca-takedown-3082
  • steemit/dmca-takedown-update
  • takedown-20180309
36 results
Show changes
Commits on Source (3)
......@@ -16,11 +16,11 @@
"bunyan": "^2.0.2",
"busboy": "^0.2.14",
"config": "^1.29.4",
"file-type": "^16.5.4",
"fs-blob-store": "^6.0.0",
"hivesigner": "^3.2.0",
"koa": "^2.3.0",
"koa-router": "^7.4.0",
"mmmagic": "^0.5.0",
"multihashes": "^0.4.13",
"needle": "^2.1.1",
"ratelimiter": "^3.0.3",
......@@ -38,7 +38,6 @@
"@types/koa": "^2.0.39",
"@types/koa-router": "^7.0.23",
"@types/koa__cors": "^2.2.2",
"@types/mmmagic": "^0.4.29",
"@types/mocha": "^5.1.0",
"@types/needle": "^2.0.2",
"@types/node": "^10.5.2",
......
/** Misc utils. */
import {AbstractBlobStore, BlobKey} from 'abstract-blob-store'
import {Magic, MAGIC_MIME_TYPE} from 'mmmagic'
import {fromBuffer} from 'file-type'
import * as multihash from 'multihashes'
const magic = new Magic(MAGIC_MIME_TYPE)
/** Parse boolean value from string. */
export function parseBool(input: any): boolean {
if (typeof input === 'string') {
......@@ -51,13 +49,9 @@ export function readStream(stream: NodeJS.ReadableStream) {
}
/** Return mimetype of data. */
export function mimeMagic(data: Buffer) {
return new Promise<string>((resolve, reject) => {
magic.detect(data, (error, result) => {
if (error) { reject(error) } else { resolve(result) }
})
})
export async function mimeMagic(data: Buffer) {
const mimeInfo = await fromBuffer(data)
return mimeInfo?.mime || 'application/octet-stream'
}
/** Async version of abstract-blob-store exists. */
......
......@@ -120,6 +120,11 @@
dependencies:
vary "^1.1.2"
"@tokenizer/token@^0.3.0":
version "0.3.0"
resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276"
integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==
"@types/accepts@*":
version "1.3.5"
resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575"
......@@ -257,13 +262,6 @@
resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.2.tgz#857a118d8634c84bba7ae14088e4508490cd5da5"
integrity sha512-4kPlzbljFcsttWEq6aBW0OZe6BDajAmyvr2xknBG92tejQnvdGtT9+kXSZ580DqpxY9qG2xeQVF9Dq0ymUTo5Q==
"@types/mmmagic@^0.4.29":
version "0.4.29"
resolved "https://registry.yarnpkg.com/@types/mmmagic/-/mmmagic-0.4.29.tgz#d33bba3bcc596233fbf73747935b4dfe6866f227"
integrity sha1-0zu6O8xZYjP79zdHk1tN/mhm8ic=
dependencies:
"@types/node" "*"
"@types/mocha@^5.1.0":
version "5.2.7"
resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-5.2.7.tgz#315d570ccb56c53452ff8638738df60726d5b6ea"
......@@ -1087,6 +1085,15 @@ extsprintf@^1.2.0:
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
file-type@^16.5.4:
version "16.5.4"
resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.4.tgz#474fb4f704bee427681f98dd390058a172a6c2fd"
integrity sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==
dependencies:
readable-web-to-node-stream "^3.0.0"
strtok3 "^6.2.4"
token-types "^4.1.1"
file-uri-to-path@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
......@@ -1349,6 +1356,11 @@ ieee754@1.1.13, ieee754@^1.1.4:
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
ieee754@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
ignore@^5.1.4:
version "5.1.8"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
......@@ -1760,13 +1772,6 @@ mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
dependencies:
minimist "^1.2.5"
mmmagic@^0.5.0:
version "0.5.3"
resolved "https://registry.yarnpkg.com/mmmagic/-/mmmagic-0.5.3.tgz#a28feb0cf85632fd6a1e233e4a584990ae0d7302"
integrity sha512-xLqCu7GJYTzJczg0jafXFuh+iPzQL/ru0YYf4GiTTz8Cehru/wiXtUS8Pp8Xi77zNaiVndJ0OO1yAFci6iHyFg==
dependencies:
nan "^2.13.2"
mocha-junit-reporter@^1.17.0:
version "1.23.3"
resolved "https://registry.yarnpkg.com/mocha-junit-reporter/-/mocha-junit-reporter-1.23.3.tgz#941e219dd759ed732f8641e165918aa8b167c981"
......@@ -1836,7 +1841,7 @@ mv@~2:
ncp "~2.0.0"
rimraf "~2.4.0"
nan@^2.13.2, nan@^2.14.0:
nan@^2.14.0:
version "2.14.1"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==
......@@ -2047,6 +2052,11 @@ path-type@^3.0.0:
dependencies:
pify "^3.0.0"
peek-readable@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.1.0.tgz#4ece1111bf5c2ad8867c314c81356847e8a62e72"
integrity sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==
picomatch@^2.0.4, picomatch@^2.2.1:
version "2.2.2"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
......@@ -2179,6 +2189,13 @@ readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
string_decoder "^1.1.1"
util-deprecate "^1.0.1"
readable-web-to-node-stream@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb"
integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==
dependencies:
readable-stream "^3.6.0"
readdirp@~3.4.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada"
......@@ -2559,6 +2576,14 @@ strip-json-comments@~2.0.1:
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
strtok3@^6.2.4:
version "6.3.0"
resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-6.3.0.tgz#358b80ffe6d5d5620e19a073aa78ce947a90f9a0"
integrity sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==
dependencies:
"@tokenizer/token" "^0.3.0"
peek-readable "^4.1.0"
supports-color@5.4.0:
version "5.4.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54"
......@@ -2664,6 +2689,14 @@ toidentifier@1.0.0:
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
token-types@^4.1.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/token-types/-/token-types-4.2.1.tgz#0f897f03665846982806e138977dbe72d44df753"
integrity sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==
dependencies:
"@tokenizer/token" "^0.3.0"
ieee754 "^1.2.1"
toml@^2.3.3:
version "2.3.6"
resolved "https://registry.yarnpkg.com/toml/-/toml-2.3.6.tgz#25b0866483a9722474895559088b436fd11f861b"
......