Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
jio
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
amrani
jio
Commits
96cbccb1
Commit
96cbccb1
authored
May 31, 2013
by
Tristan Cavelier
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 's3/master'
Conflicts: src/jio.storage/s3storage.js test/jiotests.js
parents
ac7b4ae5
89d30927
Changes
2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
597 additions
and
55 deletions
+597
-55
src/jio.storage/s3storage.js
src/jio.storage/s3storage.js
+10
-55
test/jiotests.js
test/jiotests.js
+587
-0
No files found.
src/jio.storage/s3storage.js
View file @
96cbccb1
...
...
@@ -15,8 +15,6 @@ jIO.addStorageType("s3", function (spec, my) {
priv
.
AWSIdentifier
=
spec
.
AWSIdentifier
||
''
;
priv
.
password
=
spec
.
password
||
''
;
priv
.
server
=
spec
.
server
||
''
;
/*|| jiobucket ||*/
priv
.
url
=
spec
.
url
||
''
;
/*||> https://s3-eu-west-1.amazonaws.com <||*/
priv
.
acl
=
spec
.
acl
||
''
;
/*||> "private,
...
...
@@ -194,7 +192,6 @@ jIO.addStorageType("s3", function (spec, my) {
return
{
"
username
"
:
priv
.
username
,
"
password
"
:
priv
.
password
,
"
url
"
:
priv
.
url
,
"
server
"
:
priv
.
server
,
"
acl
"
:
priv
.
acl
};
...
...
@@ -210,9 +207,6 @@ jIO.addStorageType("s3", function (spec, my) {
if
(
typeof
priv
.
password
===
"
string
"
&&
priv
.
password
===
''
)
{
return
'
Need at least one parameter "password".
'
;
}
if
(
typeof
priv
.
url
===
"
string
"
&&
priv
.
url
===
''
)
{
return
'
Need at least one parameter "url".
'
;
}
if
(
typeof
priv
.
server
===
"
string
"
&&
priv
.
server
===
''
)
{
return
'
Need at least one parameter "server".
'
;
}
...
...
@@ -415,9 +409,7 @@ jIO.addStorageType("s3", function (spec, my) {
doc
=
JSON
.
stringify
(
doc
);
break
;
case
"
update
"
:
console
.
log
(
doc
.
_attachments
);
doc
.
_attachments
[
attachid
]
=
data
;
console
.
log
(
doc
.
_attachments
);
//update happened in the put request
doc
=
JSON
.
stringify
(
doc
);
break
;
...
...
@@ -529,7 +521,7 @@ jIO.addStorageType("s3", function (spec, my) {
**/
that
.
post
=
function
(
command
)
{
//as S3 encoding key are directly inserted within the FormData(),
//as S3 encoding key are directly inserted within the FormData(),
//use of XHRwrapper function ain't pertinent
var
doc
,
doc_id
,
mime
;
...
...
@@ -539,7 +531,7 @@ jIO.addStorageType("s3", function (spec, my) {
function
postDocument
()
{
var
http_response
,
fd
,
Signature
,
xhr
;
doc_id
=
priv
.
secureName
(
priv
.
idsToFileName
(
doc_id
));
//Meant to deep-serialize in order to avoid
//Meant to deep-serialize in order to avoid
//conflicts due to the multipart enctype
doc
=
JSON
.
stringify
(
doc
);
http_response
=
''
;
...
...
@@ -872,9 +864,12 @@ jIO.addStorageType("s3", function (spec, my) {
requestUTC
,
parse
,
checkCounter
;
keys
=
$
(
mon_document
).
find
(
'
Key
'
);
resultTable
=
[];
counter
=
0
;
keys
.
each
(
function
(
index
)
{
var
that
,
filename
,
docId
;
that
=
$
(
this
);
...
...
@@ -899,6 +894,7 @@ jIO.addStorageType("s3", function (spec, my) {
//needed to save the index within the $.ajax.success() callback
count
=
resultTable
.
length
-
1
;
countB
=
0
;
dealCallback
=
function
(
i
,
countB
,
allDoc
)
{
return
function
(
doc
,
statustext
,
response
)
{
allDoc
.
rows
[
i
].
doc
=
response
.
responseText
;
...
...
@@ -925,13 +921,16 @@ jIO.addStorageType("s3", function (spec, my) {
};
i
=
resultTable
.
length
-
1
;
if
(
command
.
getOption
(
"
include_docs
"
)
===
true
)
{
for
(
i
;
i
>=
0
;
i
-=
1
)
{
keyId
=
resultTable
[
i
];
Signature
=
that
.
encodeAuthorization
(
keyId
);
callURL
=
priv
.
url
+
keyId
;
callURL
=
'
http://
'
+
priv
.
server
+
'
.s3.amazonaws.com/
'
+
keyId
;
requestUTC
=
new
Date
().
toUTCString
();
parse
=
true
;
allDocResponse
.
rows
[
i
]
=
{
"
id
"
:
priv
.
fileNameToIds
(
keyId
).
join
(),
"
key
"
:
keyId
,
...
...
@@ -950,7 +949,6 @@ jIO.addStorageType("s3", function (spec, my) {
+
priv
.
AWSIdentifier
+
"
:
"
+
Signature
,
//'Host' : priv.url,
'
x-amz-date
'
:
requestUTC
,
'
Content-Type
'
:
'
application/json
'
//'Content-MD5' : ''
...
...
@@ -991,46 +989,3 @@ jIO.addStorageType("s3", function (spec, my) {
};
return
that
;
});
/*
// It is not possible to attach listeners to xhr level 2 events
// AND validate the Qunit tests through sinon.js
// therefore, below methods are deprecated
var S3specifics = {};
S3specifics.uploadProgress = function(evt){
if (evt.lengthComputable) {
var percentComplete = Math.round(evt.loaded * 100 / evt.total);
console.log(percentComplete.toString() + '%');
} else {
console.log('Unable to compute.');
}
};
S3specifics.uploadComplete = function(evt){
var evt_txt = evt.target.responseText;
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(evt_txt, "text/xml");
var responseURL = $(xmlDoc.getElementsByTagName('Location'))[0].text();
console.log(responseURL);
};
S3specifics.uploadFailed = function(evt){
var evt_txt = evt.target.responseText;
console.log("Erreur lors de la tentative d'upload : " + evt_txt);
};
S3specifics.uploadCanceled = function(evt){
console.log("Upload annulé par l'utilisateur ou le navigateur.");
};
S3specifics.onReadyStateChange = function(req, those, that) {
if (req.readyState === 4 && those.status === 200){
that.success({
ok: true,
id: command.getDocId()
});
}
};
*/
test/jiotests.js
View file @
96cbccb1
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment