Skip to content
This repository was archived by the owner on Dec 7, 2017. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions Resources/lib/cloudinary/config.coffee
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
_ = require("../underscore")

cloudinary_config = undefined
base_cloudinary_config = require('../cloudinary_config').config

Expand Down
6 changes: 2 additions & 4 deletions Resources/lib/cloudinary/config.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 6 additions & 9 deletions Resources/lib/cloudinary/uploader.coffee
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
_ = require("../underscore")
utils = require("./utils")
config = require("./config")

Expand Down Expand Up @@ -40,7 +39,7 @@ build_upload_params = (options) ->
invalidate: options.invalidate,
discard_original_filename: options.discard_original_filename,
proxy: options.proxy,
folder: options.folder,
folder: options.folder,
tags: options.tags && utils.build_array(options.tags).join(",")
params

Expand Down Expand Up @@ -154,15 +153,15 @@ call_api = (action, callback, options, get_params) ->
xhr.setRequestHeader "Content-Type", "multipart/form-data; boundary=#{boundary}"

post_data = Ti.createBuffer()
for key, value of params
for key, value of params
if _.isArray(value)
for v in value
for v in value
post_data.append EncodeFieldPart(boundary, key+"[]", v)
else if utils.present(value)
post_data.append EncodeFieldPart(boundary, key, value)
post_data.append EncodeFieldPart(boundary, key, value)

if file?
filename = file.name
filename = file.name
post_data.append EncodeFilePart(boundary, 'application/octet-stream', 'file', filename)
raw = Ti.Stream.createStream(source: file.read(), mode: Ti.Stream.MODE_READ)
content = Ti.Stream.readAll(raw)
Expand All @@ -183,5 +182,3 @@ EncodeFilePart = (boundary,type,name,filename) ->
return_part += "Content-Disposition: form-data; name=\"#{name}\"; filename=\"#{filename}\"\r\n";
return_part += "Content-Type: #{type}\r\n\r\n";
Ti.createBuffer(value: return_part)


5 changes: 2 additions & 3 deletions Resources/lib/cloudinary/uploader.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 14 additions & 13 deletions Resources/lib/cloudinary/utils.coffee
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
_ = require("../underscore")
config = require("./config")

exports.CF_SHARED_CDN = "d3jpl91pxevbkh.cloudfront.net";
Expand All @@ -19,8 +18,8 @@ exports.build_array = build_array = (arg) ->
if !arg?
[]
else if _.isArray(arg)
arg
else
arg
else
[arg]

exports.present = present = (value) ->
Expand All @@ -41,6 +40,7 @@ exports.generate_transformation_string = generate_transformation_string = (optio
crop = option_consume(options, "crop")
angle = build_array(option_consume(options, "angle")).join(".")
no_html_sizes = has_layer or present(angle) or crop == "fit" or crop == "limit"
dpr = option_consume(options, "dpr")

delete options["width"] if width and (no_html_sizes or parseFloat(width) < 1)
delete options["height"] if height and (no_html_sizes or parseFloat(height) < 1)
Expand All @@ -50,9 +50,9 @@ exports.generate_transformation_string = generate_transformation_string = (optio
named_transformation = []
if _.filter(base_transformations, _.isObject).length > 0
base_transformations = _.map(base_transformations, (base_transformation) ->
if _.isObject(base_transformation)
generate_transformation_string(_.clone(base_transformation))
else
if _.isObject(base_transformation)
generate_transformation_string(_.clone(base_transformation))
else
generate_transformation_string(transformation: base_transformation)
)
else
Expand All @@ -76,6 +76,7 @@ exports.generate_transformation_string = generate_transformation_string = (optio
a: angle
bo: border
fl: flags
dpr: dpr

simple_params =
x: "x"
Expand Down Expand Up @@ -123,13 +124,13 @@ exports.url = cloudinary_url = (public_id, options = {}) ->

if public_id.match(/^https?:/)
return public_id if type is "upload" or type is "asset"
public_id = encodeURIComponent(public_id).replace(/%3A/g, ":").replace(/%2F/g, "/")
else
public_id = encodeURIComponent(public_id).replace(/%3A/g, ":").replace(/%2F/g, "/")
else
public_id = encodeURIComponent(decodeURIComponent(public_id)).replace(/%3A/g, ":").replace(/%2F/g, "/")
public_id += "." + format if format
public_id += "." + format if format

shared_domain = !private_cdn
if secure
if secure
if !secure_distribution || secure_distribution == exports.OLD_AKAMAI_SHARED_CDN
secure_distribution = (if private_cdn then "#{cloud_name}-res.cloudinary.com" else exports.SHARED_CDN)
shared_domain ||= secure_distribution == exports.SHARED_CDN
Expand All @@ -145,7 +146,7 @@ exports.url = cloudinary_url = (public_id, options = {}) ->
type = undefined

version ?= 1 if public_id.search("/") >= 0 && !public_id.match(/^v[0-9]+/) && !public_id.match(/^https?:\//)

url = [ prefix, resource_type, type, transformation, (if version then "v" + version else ""), public_id ].join("/")
url.replace(/([^:])\/+/g, "$1/")

Expand Down Expand Up @@ -252,15 +253,15 @@ exports.sign_request = (params, options) ->
# Remove blank parameters
for k, v of params when not exports.present(v)
delete params[k]

params.signature = exports.api_sign_request(params, api_secret)
params.api_key = api_key

return exports.api_url("download", options) + "?" + exports.querystring.stringify(params)

exports.zip_download_url = (tag, options = {}) ->
params = exports.sign_request({
timestamp: exports.timestamp(),
timestamp: exports.timestamp(),
tag: tag,
transformation: exports.generate_transformation_string(options)
}, options)
Expand Down
12 changes: 6 additions & 6 deletions Resources/lib/cloudinary/utils.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading