fix for #592, added http method

This commit is contained in:
Tony Tam
2014-09-19 11:35:37 -07:00
parent 7570e85389
commit a0f398853a
4 changed files with 72 additions and 29 deletions

View File

@@ -664,7 +664,7 @@ Operation.prototype.execute = function(arg1, arg2, arg3, arg4, parent) {
var obj = { var obj = {
url: url, url: url,
method: args.method, method: this.method,
useJQuery: this.useJQuery, useJQuery: this.useJQuery,
headers: headers, headers: headers,
on: { on: {

81
dist/swagger-ui.js vendored
View File

@@ -1,5 +1,5 @@
// swagger-ui.js // swagger-ui.js
// version 2.0.23 // version 2.0.25
$(function() { $(function() {
// Helper function for vertically aligning DOM elements // Helper function for vertically aligning DOM elements
@@ -93,7 +93,6 @@ var Docs = {
switch (fragments.length) { switch (fragments.length) {
case 1: case 1:
// Expand all operations for the resource and scroll to it // Expand all operations for the resource and scroll to it
log('shebang resource:' + fragments[0]);
var dom_id = 'resource_' + fragments[0]; var dom_id = 'resource_' + fragments[0];
Docs.expandEndpointListForResource(fragments[0]); Docs.expandEndpointListForResource(fragments[0]);
@@ -101,7 +100,6 @@ var Docs = {
break; break;
case 2: case 2:
// Refer to the endpoint DOM element, e.g. #words_get_search // Refer to the endpoint DOM element, e.g. #words_get_search
log('shebang endpoint: ' + fragments.join('_'));
// Expand Resource // Expand Resource
Docs.expandEndpointListForResource(fragments[0]); Docs.expandEndpointListForResource(fragments[0]);
@@ -111,8 +109,6 @@ var Docs = {
var li_dom_id = fragments.join('_'); var li_dom_id = fragments.join('_');
var li_content_dom_id = li_dom_id + "_content"; var li_content_dom_id = li_dom_id + "_content";
log("li_dom_id " + li_dom_id);
log("li_content_dom_id " + li_content_dom_id);
Docs.expandOperation($('#'+li_content_dom_id)); Docs.expandOperation($('#'+li_content_dom_id));
$('#'+li_dom_id).slideto({highlight: false}); $('#'+li_dom_id).slideto({highlight: false});
@@ -279,9 +275,9 @@ function program6(depth0,data) {
var buffer = "", stack1; var buffer = "", stack1;
buffer += "<div class='info_license'><a href='" buffer += "<div class='info_license'><a href='"
+ escapeExpression(((stack1 = ((stack1 = depth0.info),stack1 == null || stack1 === false ? stack1 : stack1.licenseUrl)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1)) + escapeExpression(((stack1 = ((stack1 = ((stack1 = depth0.info),stack1 == null || stack1 === false ? stack1 : stack1.license)),stack1 == null || stack1 === false ? stack1 : stack1.name)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
+ "'>" + "'>"
+ escapeExpression(((stack1 = ((stack1 = depth0.info),stack1 == null || stack1 === false ? stack1 : stack1.license)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1)) + escapeExpression(((stack1 = ((stack1 = ((stack1 = depth0.info),stack1 == null || stack1 === false ? stack1 : stack1.license)),stack1 == null || stack1 === false ? stack1 : stack1.url)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
+ "</a></div>"; + "</a></div>";
return buffer; return buffer;
} }
@@ -1262,7 +1258,13 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
return _this.showMessage(d); return _this.showMessage(d);
}; };
this.options.failure = function(d) { this.options.failure = function(d) {
if (_this.api && _this.api.isValid === false) {
log("not a valid 2.0 spec, loading legacy client");
_this.api = new SwaggerApi(_this.options);
return _this.api.build();
} else {
return _this.onLoadFailure(d); return _this.onLoadFailure(d);
}
}; };
this.headerView = new HeaderView({ this.headerView = new HeaderView({
el: $('#header') el: $('#header')
@@ -1288,9 +1290,8 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
} }
this.options.url = url; this.options.url = url;
this.headerView.update(url); this.headerView.update(url);
this.api = new SwaggerApi(this.options); this.api = new SwaggerClient(this.options);
this.api.build(); return this.api.build();
return this.api;
}; };
SwaggerUi.prototype.render = function() { SwaggerUi.prototype.render = function() {
@@ -1451,22 +1452,32 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
}; };
MainView.prototype.initialize = function(opts) { MainView.prototype.initialize = function(opts) {
var route, sorter, sorterName, _i, _len, _ref3; var name, route, sorter, sorterName, url, _i, _len, _ref3;
if (opts == null) { if (opts == null) {
opts = {}; opts = {};
} }
if (opts.swaggerOptions.sorter) { if (opts.swaggerOptions.sorter) {
sorterName = opts.swaggerOptions.sorter; sorterName = opts.swaggerOptions.sorter;
sorter = sorters[sorterName]; sorter = sorters[sorterName];
if (this.model.apisArray) {
_ref3 = this.model.apisArray; _ref3 = this.model.apisArray;
for (_i = 0, _len = _ref3.length; _i < _len; _i++) { for (_i = 0, _len = _ref3.length; _i < _len; _i++) {
route = _ref3[_i]; route = _ref3[_i];
route.operationsArray.sort(sorter); route.operationsArray.sort(sorter);
} }
if (sorterName === "alpha") { if (sorterName === "alpha") {
return this.model.apisArray.sort(sorter); this.model.apisArray.sort(sorter);
} }
} }
}
log(this.model);
if (this.model.info.license && typeof this.model.info.license === 'string') {
name = this.model.info.license;
url = this.model.info.licenseUrl;
this.model.info.license = {};
this.model.info.license.name = name;
return this.model.info.license.url = url;
}
}; };
MainView.prototype.render = function() { MainView.prototype.render = function() {
@@ -1491,6 +1502,7 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
MainView.prototype.addResource = function(resource) { MainView.prototype.addResource = function(resource) {
var resourceView; var resourceView;
resource.id = resource.id.replace(/\s/g, '_');
resourceView = new ResourceView({ resourceView = new ResourceView({
model: resource, model: resource,
tagName: 'li', tagName: 'li',
@@ -1517,7 +1529,11 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
return _ref3; return _ref3;
} }
ResourceView.prototype.initialize = function() {}; ResourceView.prototype.initialize = function() {
if ("" === this.model.description) {
return this.model.description = null;
}
};
ResourceView.prototype.render = function() { ResourceView.prototype.render = function() {
var counter, id, methods, operation, _i, _len, _ref4; var counter, id, methods, operation, _i, _len, _ref4;
@@ -1621,7 +1637,7 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
}; };
OperationView.prototype.render = function() { OperationView.prototype.render = function() {
var contentTypeModel, isMethodSubmissionSupported, k, o, param, responseContentTypeView, responseSignatureView, signatureModel, statusCode, type, v, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref5, _ref6, _ref7, _ref8; var contentTypeModel, isMethodSubmissionSupported, k, o, param, ref, responseContentTypeView, responseSignatureView, schema, signatureModel, statusCode, type, v, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref5, _ref6, _ref7, _ref8;
isMethodSubmissionSupported = true; isMethodSubmissionSupported = true;
if (!isMethodSubmissionSupported) { if (!isMethodSubmissionSupported) {
this.model.isReadOnly = true; this.model.isReadOnly = true;
@@ -1658,6 +1674,7 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
}); });
$('.model-signature', $(this.el)).append(responseSignatureView.render().el); $('.model-signature', $(this.el)).append(responseSignatureView.render().el);
} else { } else {
this.model.responseClassSignature = 'string';
$('.model-signature', $(this.el)).html(this.model.type); $('.model-signature', $(this.el)).html(this.model.type);
} }
contentTypeModel = { contentTypeModel = {
@@ -1669,12 +1686,23 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
for (_j = 0, _len1 = _ref6.length; _j < _len1; _j++) { for (_j = 0, _len1 = _ref6.length; _j < _len1; _j++) {
param = _ref6[_j]; param = _ref6[_j];
type = param.type || param.dataType; type = param.type || param.dataType;
if (type.toLowerCase() === 'file') { if (typeof type === 'undefined') {
schema = param.schema;
if (schema['$ref']) {
ref = schema['$ref'];
if (ref.indexOf('#/definitions/') === 0) {
type = ref.substring('#/definitions/'.length);
} else {
type = ref;
}
}
}
if (type && type.toLowerCase() === 'file') {
if (!contentTypeModel.consumes) { if (!contentTypeModel.consumes) {
log("set content type ");
contentTypeModel.consumes = 'multipart/form-data'; contentTypeModel.consumes = 'multipart/form-data';
} }
} }
param.type = type;
} }
responseContentTypeView = new ResponseContentTypeView({ responseContentTypeView = new ResponseContentTypeView({
model: contentTypeModel model: contentTypeModel
@@ -1685,6 +1713,9 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
param = _ref7[_k]; param = _ref7[_k];
this.addParameter(param, contentTypeModel.consumes); this.addParameter(param, contentTypeModel.consumes);
} }
if (typeof this.model.responseMessages === 'undefined') {
this.model.responseMessages = [];
}
_ref8 = this.model.responseMessages; _ref8 = this.model.responseMessages;
for (_l = 0, _len3 = _ref8.length; _l < _len3; _l++) { for (_l = 0, _len3 = _ref8.length; _l < _len3; _l++) {
statusCode = _ref8[_l]; statusCode = _ref8[_l];
@@ -1808,7 +1839,6 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
headerParams[param.name] = map[param.name]; headerParams[param.name] = map[param.name];
} }
} }
log(headerParams);
_ref8 = form.find('input[type~="file"]'); _ref8 = form.find('input[type~="file"]');
for (_l = 0, _len3 = _ref8.length; _l < _len3; _l++) { for (_l = 0, _len3 = _ref8.length; _l < _len3; _l++) {
el = _ref8[_l]; el = _ref8[_l];
@@ -2104,12 +2134,25 @@ helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
}; };
ParameterView.prototype.render = function() { ParameterView.prototype.render = function() {
var contentTypeModel, isParam, parameterContentTypeView, responseContentTypeView, signatureModel, signatureView, template, type; var contentTypeModel, isParam, parameterContentTypeView, ref, responseContentTypeView, schema, signatureModel, signatureView, template, type;
type = this.model.type || this.model.dataType; type = this.model.type || this.model.dataType;
if (typeof type === 'undefined') {
schema = this.model.schema;
if (schema['$ref']) {
ref = schema['$ref'];
if (ref.indexOf('#/definitions/') === 0) {
type = ref.substring('#/definitions/'.length);
} else {
type = ref;
}
}
}
this.model.type = type;
this.model.paramType = this.model["in"] || this.model.paramType;
if (this.model.paramType === 'body') { if (this.model.paramType === 'body') {
this.model.isBody = true; this.model.isBody = true;
} }
if (type.toLowerCase() === 'file') { if (type && type.toLowerCase() === 'file') {
this.model.isFile = true; this.model.isFile = true;
} }
template = this.template(); template = this.template();

File diff suppressed because one or more lines are too long

View File

@@ -664,7 +664,7 @@ Operation.prototype.execute = function(arg1, arg2, arg3, arg4, parent) {
var obj = { var obj = {
url: url, url: url,
method: args.method, method: this.method,
useJQuery: this.useJQuery, useJQuery: this.useJQuery,
headers: headers, headers: headers,
on: { on: {