Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
John McEleney
/
casperjs
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit
87f4d0bd
...
87f4d0bd744e08e749744a4e8bc7355ceb454ff7
authored
2011-12-21 18:34:07 +0100
by
Nicolas Perriault
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
refactored PR #30 - Add request method and request data to the base64encode() method
1 parent
9ad70d39
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
23 additions
and
28 deletions
lib/casper.js
lib/clientutils.js
lib/casper.js
View file @
87f4d0b
...
...
@@ -125,9 +125,9 @@
* @param String data The data to send, optional
* @return string Base64 encoded result
*/
base64encode
:
function
(
url
,
method
,
data
)
{
return
this
.
evaluate
(
function
(
url
,
method
,
data
)
{
return
__utils__
.
getBase64
(
url
,
method
,
data
);
base64encode
:
function
(
url
,
method
,
data
)
{
return
this
.
evaluate
(
function
(
url
,
method
,
data
)
{
return
__utils__
.
getBase64
(
url
,
method
,
data
);
},
{
url
:
url
,
method
:
method
,
data
:
data
});
},
...
...
lib/clientutils.js
View file @
87f4d0b
...
...
@@ -223,13 +223,13 @@
* Downloads a resource behind an url and returns its base64-encoded
* contents.
*
* @param String url The resource url
* @param String method
The request method, optional
* @param Object data The request data, optional
* @return String Base64 contents string
* @param String url
The resource url
* @param String method
The request method, optional (default: GET)
* @param Object data
The request data, optional
* @return String
Base64 contents string
*/
this
.
getBase64
=
function
(
url
,
method
,
data
)
{
return
this
.
encode
(
this
.
getBinary
(
url
,
method
,
data
));
this
.
getBase64
=
function
(
url
,
method
,
data
)
{
return
this
.
encode
(
this
.
getBinary
(
url
,
method
,
data
));
};
/**
...
...
@@ -237,44 +237,39 @@
* fails but log errors.
*
* @param String url
* @param String method
* @param String method
* @param Object data
* @return string
*/
this
.
getBinary
=
function
(
url
,
method
,
data
)
{
try
{
var
xhr
=
new
XMLHttpRequest
();
if
(
method
===
undefined
||
[
"GET"
,
"get"
,
"POST"
,
"post"
].
indexOf
(
method
)
==
-
1
)
{
var
xhr
=
new
XMLHttpRequest
()
,
dataString
=
""
;
if
(
typeof
method
!==
"string"
||
[
"GET"
,
"POST"
].
indexOf
(
method
.
toUpperCase
())
=
==
-
1
)
{
method
=
"GET"
;
}
else
{
method
=
method
.
toUpperCase
();
}
xhr
.
open
(
method
,
url
,
false
);
this
.
log
(
"u
sing HTTP method: '"
+
method
+
"'"
,
"debug"
);
this
.
log
(
"getBinary(): U
sing HTTP method: '"
+
method
+
"'"
,
"debug"
);
xhr
.
overrideMimeType
(
"text/plain; charset=x-user-defined"
);
if
(
method
==
"POST"
)
{
if
(
data
===
undefined
)
{
data_str
=
""
;
}
else
{
data_str
=
""
;
for
(
k
in
data
)
{
if
(
typeof
(
k
)
==
"string"
&&
typeof
(
data
[
k
])
==
"string"
)
{
data_str
+=
"&"
+
escape
(
k
)
+
"="
+
escape
(
data
[
k
]);
}
if
(
method
===
"POST"
)
{
if
(
typeof
data
===
"object"
)
{
var
dataList
=
[];
for
(
var
k
in
data
)
{
dataList
.
push
(
escape
(
k
)
+
"="
+
escape
(
data
[
k
].
toString
()));
}
data_str
=
data_str
.
substring
(
1
);
dataString
=
dataList
.
join
(
'&'
);
this
.
log
(
"getBinary(): Using request data: '"
+
dataString
+
"'"
,
"debug"
);
}
xhr
.
setRequestHeader
(
"Content-type"
,
"application/x-www-form-urlencoded"
);
}
this
.
log
(
"using request data: '"
+
data_str
+
"'"
,
"debug"
);
xhr
.
send
(
method
==
"POST"
?
data_str
:
null
);
xhr
.
send
(
method
===
"POST"
?
dataString
:
null
);
return
xhr
.
responseText
;
}
catch
(
e
)
{
if
(
e
.
name
===
"NETWORK_ERR"
&&
e
.
code
===
101
)
{
this
.
log
(
"
u
nfortunately, casperjs cannot make cross domain ajax requests"
,
"warning"
);
this
.
log
(
"
getBinary(): U
nfortunately, casperjs cannot make cross domain ajax requests"
,
"warning"
);
}
this
.
log
(
"
e
rror while fetching "
+
url
+
": "
+
e
,
"error"
);
this
.
log
(
"
getBinary(): E
rror while fetching "
+
url
+
": "
+
e
,
"error"
);
return
""
;
}
};
...
...
Please
register
or
sign in
to post a comment