api-console-assets
Version:
This repo only exists to publish api console components to npm
184 lines (182 loc) • 4.2 kB
HTML
<script>
/**
* Use the `<status-message>` element to generate status message for corresponding
* status code.
*
* ## Usage
* Create an element and set the `code` property. The `message` property will be
* set synchronously with the corresponding HTTP status message (in spec defined
* as a reason message).
* If the status code is non standard status code then the message property
* will be `undefined`.
*
* ### Example:
* ```
* var element = document.createElement('status-message');
* element.code = 201;
* console.log(element.message);
* ```
* Note that the `code` can be string and it will be converted into the numeric
* value.
*/
Polymer({
is: 'status-message',
properties: {
/**
* The status code.
*/
code: {
type: Number,
observer: 'setMessage'
},
/**
* Mesage associated with the status code.
* It will be filled as soon as `code` change.
*/
message: {
type: String,
readOnly: true,
notify: true
}
},
/**
* Associates status message to the `code`.
* Don't call this method after setting the `code` property. It will be called
* automatically.
*/
setMessage: function() {
var code = this.code;
code = Number(code);
var message;
switch (code) {
case 0:
message = 'Request error';
break;
case 100:
message = 'Continue';
break;
case 101:
message = 'Switching Protocols';
break;
case 200:
message = 'OK';
break;
case 201:
message = 'Created';
break;
case 202:
message = 'Accepted';
break;
case 203:
message = 'Non-Authoritative Information';
break;
case 204:
message = 'No Content';
break;
case 205:
message = 'Reset Content';
break;
case 206:
message = 'Partial Content';
break;
case 300:
message = 'Multiple Choices';
break;
case 301:
message = 'Moved Permanently';
break;
case 302:
message = 'Found';
break;
case 303:
message = 'See Other';
break;
case 304:
message = 'Not Modified';
break;
case 305:
message = 'Use Proxy';
break;
case 306:
message = '(Unused)';
break;
case 307:
message = 'Temporary Redirect';
break;
case 400:
message = 'Bad Request';
break;
case 401:
message = 'Unauthorized';
break;
case 402:
message = 'Payment Required';
break;
case 403:
message = 'Forbidden';
break;
case 404:
message = 'Not Found';
break;
case 405:
message = 'Method Not Allowed';
break;
case 406:
message = 'Not Acceptable';
break;
case 407:
message = 'Proxy Authentication Required';
break;
case 408:
message = 'Request Timeout';
break;
case 409:
message = 'Conflict';
break;
case 410:
message = 'Gone';
break;
case 411:
message = 'Length Required';
break;
case 412:
message = 'Precondition Failed';
break;
case 413:
message = 'Request Entity Too Large';
break;
case 414:
message = 'Request-URI Too Long';
break;
case 415:
message = 'Unsupported Media Type';
break;
case 416:
message = 'Requested Range Not Satisfiable';
break;
case 417:
message = 'Expectation Failed';
break;
case 500:
message = 'Internal Server Error';
break;
case 501:
message = 'Not Implemented';
break;
case 502:
message = 'Bad Gateway';
break;
case 503:
message = 'Service Unavailable';
break;
case 504:
message = 'Gateway Timeout';
break;
case 505:
message = 'HTTP Version Not Supported';
break;
}
return this._setMessage(message);
}
});
</script>