Skip to content

Commit

Permalink
Merge branch 'dash-headers'
Browse files Browse the repository at this point in the history
  • Loading branch information
Adam Tuttle committed Sep 19, 2014
2 parents 3d78066 + 218e1ed commit b10110c
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 3 deletions.
1 change: 1 addition & 0 deletions core/api.cfc
Original file line number Diff line number Diff line change
Expand Up @@ -463,6 +463,7 @@
<cfset local.defaultConfig.deserializer = "taffy.core.nativeJsonDeserializer" />
<cfset local.defaultConfig.disableDashboard = false />
<cfset local.defaultConfig.disabledDashboardRedirect = "" />
<cfset local.defaultConfig.dashboardHeaders = {} />
<cfset local.defaultConfig.showDocsWhenDashboardDisabled = false />
<cfset local.defaultConfig.unhandledPaths = "/flex2gateway" />
<cfset local.defaultConfig.allowCrossDomain = false />
Expand Down
28 changes: 25 additions & 3 deletions dashboard/dash.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
if (!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^[\s\xA0]+|[\s\xA0]+$/g, '');
};
}

$(function(){

//hide request body form field for GET/DELETE on accordion open
Expand Down Expand Up @@ -84,19 +90,35 @@ $(function(){
loading.show();
submit.attr('disabled','disabled');

response.hide();

//interpolate the full request path
var uri = resource.data('uri')
,form = params( resource.find('.reqTokens form').serialize() )
,path = uri.supplant(form);

response.hide();

var verb = resource.find('.reqMethod option:checked').val();
var body = (verb === 'GET' || verb === 'DELETE') ? params(qParams(resource)) : resource.find('.reqBody textarea').val();
var reqHeaders = resource.find('.requestHeaders').val().replace(/\r/g, '').split('\n');
var headers = {
Accept: resource.find('.reqFormat option:checked').val()
,"Content-Type": "application/json"
,"Content-Type": (verb === 'GET' || verb === 'DELETE') ? "application/x-www-form-urlencoded" : "application/json"
};
for (var h in reqHeaders){
var kv = reqHeaders[h].trim().split(':');
if (kv[0].trim().length == 0){
continue;
}
if (kv.length == 2){
headers[ kv[0].trim() ] = kv[1].trim();
}else if (kv.length == 1){
headers [kv[0].trim() ] = "";
}else{
var k = kv.shift().trim();
var v = kv.join(':').trim();
headers[ k ] = v;
}
}

submitRequest(verb, path, headers, body, function(timeSpent, status, headers, body){
loading.hide();
Expand Down
8 changes: 8 additions & 0 deletions dashboard/dashboard.cfm
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,14 @@
</div>
</cfif>

<div class="reqHeaders">
<h4>Request Headers:</h4>
<textarea
rows="#listLen(structKeyList(application._taffy.settings.dashboardHeaders, '|'), '|')+1#"
class="form-control input-sm requestHeaders"
><cfloop list="#structKeyList(application._taffy.settings.dashboardHeaders, '|')#" delimiters="|" index="k">#k#: #application._taffy.settings.dashboardHeaders[k]##chr(13)##chr(10)#</cfloop></textarea>
</div>

<div class="reqBody">
<h4>Request Body:</h4>
<textarea id="#local.currentResource.beanName#_RequestBody" class="form-control input-sm" rows="5"></textarea>
Expand Down

0 comments on commit b10110c

Please sign in to comment.