├── README.md └── dist ├── css └── screen.css ├── images ├── pet_store_api.png └── throbber.gif ├── index.html ├── lib ├── backbone-min.js ├── handlebars-1.0.rc.1.js ├── handlebars.runtime-1.0.0.beta.6.js ├── jquery-1.8.0.min.js ├── jquery.ba-bbq.min.js ├── jquery.slideto.min.js ├── jquery.wiggle.min.js ├── swagger.js └── underscore-min.js ├── swagger-ui.js └── swagger-ui.min.js /README.md: -------------------------------------------------------------------------------- 1 | > **Note:-** Newer version of API Explorer that currently targets swagger 1.2 2 | > specification is currently bundled with [Restler RC6](https://github.com/Luracast/Restler/tree/v3/vendor/Luracast/Restler/explorer). 3 | > Use the `Explorer` class instead of `Resources` class in the below example and 4 | > ignore all the steps for building and copying the explorer folder 5 | > as it is no longer required. 6 | 7 | Restler API Explorer 8 | ==================== 9 | 10 | Restler API Explorer is tweaked from Swagger UI which is part of [Swagger] 11 | (http://swagger.wordnik.com/) project which allows you to produce, 12 | visualize and consume your OWN RESTful services. 13 | No proxy or 3rd party services required. Do it your own way. 14 | 15 | We modified Swagger UI so that it can be placed along with a [Restler](https://github.com/Luracast/Restler/) based API Server for API Discovery and Exploration. 16 | 17 | Swagger UI is a dependency-free collection of HTML, Javascript, and CSS assets that dynamically 18 | generate beautiful documentation and sandbox from a [Swagger-compliant](https://github.com/wordnik/swagger-core/wiki) API. Because Swagger UI has no 19 | dependencies, you can host it in any server environment, or on your local machine. 20 | 21 | Rester API Explorer is currently targeting swagger 1.1 specification. 22 | 23 | How to Use It 24 | ------------- 25 | 26 | ### Download 27 | You can use the Restler API Explorer code AS-IS! No need to build or recompile--just [download](https://github.com/Luracast/Restler-API-Explorer/zipball/master) the distribution, 28 | unpack and take the content inside `dist` folder and start using it. If you like Restler API Explorer as-is, stop here. 29 | 30 | ### Build 31 | You can rebuild swagger-ui on your own to tweak it or just so you can say you did. To do so, follow these steps: 32 | 33 | 1. Clone this repository. Downloading as Zip or Tarball won't include the source 34 | 2. Install [CoffeeScript](http://coffeescript.org/#installation) which will give you [cake](http://coffeescript.org/#cake) 35 | 3. Install [handlebars](http://handlebarsjs.com/) using `npm install handlebars -g` 36 | 4. Run `cake dist` from the root of this project 37 | 5. You should see the distribution under the dist folder. Open `./dist/index .html` to launch API Explorer in a browser 38 | 39 | ### Use 40 | 1. Copy the dist folder to the Restler (version 3 or above) based API root, and rename it to **explorer** (or whatever you find suitable) 41 | 2. Add `Luracast\Restler\Resourses` as an API class as shown below 42 | 3. Open the API Root/explorer in the browser. It should be listing the resources 43 | 4. Add proper PHPDoc comments to your API methods and see them magically appear in the explorer :) 44 | 45 | ```php 46 | addAPIClass('Luracast\\Restler\\Resources'); //this creates resources.json at API Root 52 | $r->addAPIClass('YourOwnCustomAPIClass'); 53 | //... add more api classes if needed 54 | $r->handle(); 55 | ``` 56 | 57 | ### Customize 58 | You may choose to customize API Explorer for your organization. Here is an overview of whats in its various directories: 59 | 60 | - dist: Contains a distribution which you can deploy on a server or load from your local machine. 61 | - bin: Contains files used by swagger-ui for its build/test. These are not required by the distribution. 62 | - lib: Contains javascript dependencies which swagger-ui depends on 63 | - node_modules: Contains node modules which swagger-ui uses for its development. 64 | - src 65 | - src/main/coffeescript: main code in CoffeeScript 66 | - src/main/templates: [handlebars](http://handlebarsjs.com/) templates used to render swagger-ui 67 | - src/main/html: the html files, some images and css 68 | - src/main/javascript: some legacy javascript referenced by CofffeeScript code 69 | 70 | ### SwaggerUI 71 | To use swagger-ui you should take a look at the [source of swagger-ui html page](https://github.com/wordnik/swagger-ui/tree/master/src/main/html) and customize it. This basically requires you to instantiate a SwaggerUi object and call load() on it as below: 72 | 73 | ```javascript 74 | window.swaggerUi = new SwaggerUi({ 75 | discoveryUrl:"http://petstore.swagger.wordnik.com/api/resources.json", 76 | dom_id:"swagger-ui-container", 77 | apiKey:"special-key", 78 | supportHeaderParams: false, 79 | headers: { "Authorization": "XXXX", "someOtherHeader": "YYYY" }, 80 | supportedSubmitMethods: ['get', 'post', 'put'] 81 | }); 82 | 83 | window.swaggerUi.load(); 84 | ``` 85 | 86 | * *discoveryUrl* parameter should point to a resource listing url as per [Swagger Spec](https://github.com/wordnik/swagger-core/wiki) 87 | * *dom_id parameter* is the the id of a dom element inside which SwaggerUi will put the user interface for swagger 88 | * *booleanValues* SwaggerUI renders boolean data types as a dropdown. By default it provides a 'true' and 'false' string as the possible choices. You can use this parameter to change the values in dropdown to be something else, for example 0 and 1 by setting booleanValues to new Array(0, 1) 89 | * *docExpansion* controls how the API listing is displayed. It can be set to 'none' (default), 'list' (shows operations for each resource), or 'full' (fully expanded: shows operations and their details) 90 | * *onComplete* is a callback function parameter which can be passed to be notified of when SwaggerUI has completed rendering successfully. 91 | * *onFailure* is a callback function parameter which can be passed to be notified of when SwaggerUI encountered a failure was unable to render. 92 | * All other parameters are explained in greater detail below 93 | 94 | 95 | ### HTTP Methods and API Invocation 96 | swagger-ui supports invocation of all HTTP methods APIs but only GET methods APIs are enabled by default. You can choose to enable other HTTP methods like POST, PUT and DELETE. This can be enabled by [setting the supportedSubmitMethods parameter when creating SwaggerUI instance](https://github.com/wordnik/swagger-ui/blob/f2e63c65a759421aad590b7275371cd0c06c74ea/src/main/html/index.html#L49). 97 | 98 | For example if you wanted to enable GET, POST and PUT but not for DELETE, you'd set this as: 99 | 100 | supportedSubmitMethods: ['get', 'post', 'put'] 101 | 102 | _Note that for POST/PUT body, you'd need to paste in the request data in an appropriate format which your service can unmarshall_ 103 | 104 | ### Header Parameters 105 | header parameters are supported. However because of [Cross-Origin Resource Sharing](http://www.w3.org/TR/cors/) restrictions, swagger-ui, by default, does not send header parameters. This can be enabled by [setting the supportHeaderParams to true when creating SwaggerUI instance](https://github.com/wordnik/swagger-ui/blob/f2e63c65a759421aad590b7275371cd0c06c74ea/src/main/html/index.html#L48) as below: 106 | 107 | supportHeaderParams: true 108 | 109 | ### Custom Header Parameters - (For Basic auth etc) 110 | If you have some header parameters which you need to send with every request, use the headers as below: 111 | 112 | headers: { "Authorization": "XXXX", "someOtherHeader": "YYYY" } 113 | 114 | ### Api Key Parameter 115 | If you enter an api key in swagger-ui, it sends a parameter named 'api\_key' as a query (or as a header param if you've enabled it as described above). You may not want to use the name 'api\_key' as the name of this parameter. You can change its name by setting the _apiKeyName_ parameter when you instantiate a SwaggerUI instance. For example to call it 'sessionId' 116 | 117 | apiKeyName: "sessionId" 118 | 119 | How to Improve It 120 | ----------------- 121 | 122 | Create your own fork of [Luracast/Restler-API-Explorer](https://github.com/Luracast/Restler-API-Explorer). 123 | 124 | To share your changes, [submit a pull request](https://github.com/Luracast/Restler-API-Explorer/pull/new/master). 125 | 126 | License 127 | ------- 128 | 129 | Copyright 2011-2012 Wordnik, Inc. 130 | 131 | Licensed under the Apache License, Version 2.0 (the "License"); 132 | you may not use this file except in compliance with the License. 133 | You may obtain a copy of the License at [apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) 134 | 135 | Unless required by applicable law or agreed to in writing, software 136 | distributed under the License is distributed on an "AS IS" BASIS, 137 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138 | See the License for the specific language governing permissions and 139 | limitations under the License. 140 | -------------------------------------------------------------------------------- /dist/css/screen.css: -------------------------------------------------------------------------------- 1 | html, body, div, span, applet, object, iframe, 2 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 3 | a, abbr, acronym, address, big, cite, code, 4 | del, dfn, em, img, ins, kbd, q, s, samp, 5 | small, strike, strong, sub, sup, tt, var, 6 | b, u, i, center, 7 | dl, dt, dd, ol, ul, li, 8 | fieldset, form, label, legend, 9 | table, caption, tbody, tfoot, thead, tr, th, td, 10 | article, aside, canvas, details, embed, 11 | figure, figcaption, footer, header, hgroup, 12 | menu, nav, output, ruby, section, summary, 13 | time, mark, audio, video { 14 | margin: 0; 15 | padding: 0; 16 | border: 0; 17 | font-size: 100%; 18 | font: inherit; 19 | vertical-align: baseline; 20 | } 21 | 22 | body { 23 | line-height: 1; 24 | } 25 | 26 | ol, ul { 27 | list-style: none; 28 | } 29 | 30 | table { 31 | border-collapse: collapse; 32 | border-spacing: 0; 33 | } 34 | 35 | caption, th, td { 36 | text-align: left; 37 | font-weight: normal; 38 | vertical-align: middle; 39 | } 40 | 41 | q, blockquote { 42 | quotes: none; 43 | } 44 | 45 | q:before, q:after, blockquote:before, blockquote:after { 46 | content: ""; 47 | content: none; 48 | } 49 | 50 | a img { 51 | border: none; 52 | } 53 | 54 | article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { 55 | display: block; 56 | } 57 | 58 | h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { 59 | text-decoration: none; 60 | } 61 | 62 | h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover { 63 | text-decoration: underline; 64 | } 65 | 66 | h1 span.divider, h2 span.divider, h3 span.divider, h4 span.divider, h5 span.divider, h6 span.divider { 67 | color: #aaaaaa; 68 | } 69 | 70 | h1 { 71 | color: #547f00; 72 | color: black; 73 | font-size: 1.5em; 74 | line-height: 1.3em; 75 | padding: 10px 0 10px 0; 76 | font-family: "Droid Sans", sans-serif; 77 | font-weight: bold; 78 | } 79 | 80 | h2 { 81 | color: #89bf04; 82 | color: black; 83 | font-size: 1.3em; 84 | padding: 10px 0 10px 0; 85 | } 86 | 87 | h2 a { 88 | color: black; 89 | } 90 | 91 | h2 span.sub { 92 | font-size: 0.7em; 93 | color: #999999; 94 | font-style: italic; 95 | } 96 | 97 | h2 span.sub a { 98 | color: #777777; 99 | } 100 | 101 | h3 { 102 | color: black; 103 | font-size: 1.1em; 104 | padding: 10px 0 10px 0; 105 | } 106 | 107 | div.heading_with_menu { 108 | float: none; 109 | clear: both; 110 | overflow: hidden; 111 | display: block; 112 | } 113 | 114 | div.heading_with_menu h1, div.heading_with_menu h2, div.heading_with_menu h3, div.heading_with_menu h4, div.heading_with_menu h5, div.heading_with_menu h6 { 115 | display: block; 116 | clear: none; 117 | float: left; 118 | -moz-box-sizing: border-box; 119 | -webkit-box-sizing: border-box; 120 | -ms-box-sizing: border-box; 121 | box-sizing: border-box; 122 | width: 60%; 123 | } 124 | 125 | div.heading_with_menu ul { 126 | display: block; 127 | clear: none; 128 | float: right; 129 | -moz-box-sizing: border-box; 130 | -webkit-box-sizing: border-box; 131 | -ms-box-sizing: border-box; 132 | box-sizing: border-box; 133 | margin-top: 10px; 134 | } 135 | 136 | .body-textarea { 137 | width: 300px; 138 | height: 100px; 139 | } 140 | 141 | p { 142 | line-height: 1.4em; 143 | padding: 0 0 10px 0; 144 | color: #333333; 145 | } 146 | 147 | ol { 148 | margin: 0px 0 10px 0; 149 | padding: 0 0 0 18px; 150 | list-style-type: decimal; 151 | } 152 | 153 | ol li { 154 | padding: 5px 0px; 155 | font-size: 0.9em; 156 | color: #333333; 157 | } 158 | 159 | mark { 160 | padding: 2px; 161 | color: #7e7b6d; 162 | font-weight: bold; 163 | background: rgba(255, 255, 255, 0.8); 164 | } 165 | 166 | tag { 167 | font-family: Verdana,Arial,Helvetica,sans-serif; 168 | background-color: #999999; 169 | padding: 1px 3px 2px; 170 | font-size: xx-small; 171 | font-weight: bold; 172 | color: #ffffff; 173 | letter-spacing: 1px; 174 | white-space: nowrap; 175 | -webkit-border-radius: 3px; 176 | -moz-border-radius: 3px; 177 | border-radius: 3px; 178 | } 179 | 180 | .markdown h3 { 181 | color: #547f00; 182 | } 183 | 184 | .markdown h4 { 185 | color: #666666; 186 | } 187 | 188 | .markdown pre { 189 | font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; 190 | background-color: #fcf6db; 191 | border: 1px solid black; 192 | border-color: #e5e0c6; 193 | padding: 10px; 194 | margin: 0 0 10px 0; 195 | } 196 | 197 | .markdown pre code { 198 | line-height: 1.6em; 199 | } 200 | 201 | .markdown p code, .markdown li code { 202 | font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; 203 | background-color: #f0f0f0; 204 | color: black; 205 | padding: 1px 3px; 206 | } 207 | 208 | .markdown ol, .markdown ul { 209 | font-family: "Droid Sans", sans-serif; 210 | margin: 5px 0 10px 0; 211 | padding: 0 0 0 18px; 212 | list-style-type: disc; 213 | } 214 | 215 | .markdown ol li, .markdown ul li { 216 | padding: 3px 0px; 217 | line-height: 1.4em; 218 | color: #333333; 219 | } 220 | 221 | div.gist { 222 | margin: 20px 0 25px 0 !important; 223 | } 224 | 225 | p.big, div.big p { 226 | font-size: 1em; 227 | margin-bottom: 10px; 228 | } 229 | 230 | span.weak { 231 | color: #666666; 232 | } 233 | 234 | span.blank, span.empty { 235 | color: #888888; 236 | font-style: italic; 237 | } 238 | 239 | a { 240 | color: #547f00; 241 | } 242 | 243 | strong { 244 | font-family: "Droid Sans", sans-serif; 245 | font-weight: bold; 246 | font-weight: bold; 247 | } 248 | 249 | .code { 250 | font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; 251 | } 252 | 253 | pre { 254 | font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; 255 | background-color: #fcf6db; 256 | border: 1px solid black; 257 | border-color: #e5e0c6; 258 | padding: 10px; 259 | /* white-space: pre-line */ 260 | } 261 | 262 | pre code { 263 | line-height: 1.6em; 264 | } 265 | 266 | .required { 267 | font-weight: bold; 268 | } 269 | 270 | table.fullwidth { 271 | width: 100%; 272 | } 273 | 274 | table thead tr th { 275 | padding: 5px; 276 | font-size: 0.9em; 277 | color: #666666; 278 | border-bottom: 1px solid #999999; 279 | } 280 | 281 | table tbody tr.offset { 282 | background-color: #f5f5f5; 283 | } 284 | 285 | table tbody tr td { 286 | padding: 6px; 287 | font-size: 0.9em; 288 | border-bottom: 1px solid #cccccc; 289 | vertical-align: top; 290 | line-height: 1.3em; 291 | } 292 | 293 | table tbody tr:last-child td { 294 | border-bottom: none; 295 | } 296 | 297 | table tbody tr.offset { 298 | background-color: #f0f0f0; 299 | } 300 | 301 | form.form_box { 302 | background-color: #ebf3f9; 303 | border: 1px solid black; 304 | border-color: #c3d9ec; 305 | padding: 10px; 306 | } 307 | 308 | form.form_box label { 309 | color: #0f6ab4 !important; 310 | } 311 | 312 | form.form_box input[type=submit] { 313 | display: block; 314 | padding: 10px; 315 | } 316 | 317 | form.form_box p { 318 | font-size: 0.9em; 319 | padding: 0 0 15px 0; 320 | color: #7e7b6d; 321 | } 322 | 323 | form.form_box p a { 324 | color: #646257; 325 | } 326 | 327 | form.form_box p strong { 328 | color: black; 329 | } 330 | 331 | form.form_box p.weak { 332 | font-size: 0.8em; 333 | } 334 | 335 | form.formtastic fieldset.inputs ol li p.inline-hints { 336 | margin-left: 0; 337 | font-style: italic; 338 | font-size: 0.9em; 339 | margin: 0; 340 | } 341 | 342 | form.formtastic fieldset.inputs ol li label { 343 | display: block; 344 | clear: both; 345 | width: auto; 346 | padding: 0 0 3px 0; 347 | color: #666666; 348 | } 349 | 350 | form.formtastic fieldset.inputs ol li label abbr { 351 | padding-left: 3px; 352 | color: #888888; 353 | } 354 | 355 | form.formtastic fieldset.inputs ol li.required label { 356 | color: black; 357 | } 358 | 359 | form.formtastic fieldset.inputs ol li.string input, form.formtastic fieldset.inputs ol li.url input, form.formtastic fieldset.inputs ol li.numeric input { 360 | display: block; 361 | padding: 4px; 362 | width: auto; 363 | clear: both; 364 | } 365 | 366 | form.formtastic fieldset.inputs ol li.string input.title, form.formtastic fieldset.inputs ol li.url input.title, form.formtastic fieldset.inputs ol li.numeric input.title { 367 | font-size: 1.3em; 368 | } 369 | 370 | form.formtastic fieldset.inputs ol li.text textarea { 371 | font-family: "Droid Sans", sans-serif; 372 | height: 250px; 373 | padding: 4px; 374 | display: block; 375 | clear: both; 376 | } 377 | 378 | form.formtastic fieldset.inputs ol li.select select { 379 | display: block; 380 | clear: both; 381 | } 382 | 383 | form.formtastic fieldset.inputs ol li.boolean { 384 | float: none; 385 | clear: both; 386 | overflow: hidden; 387 | display: block; 388 | } 389 | 390 | form.formtastic fieldset.inputs ol li.boolean input { 391 | display: block; 392 | float: left; 393 | clear: none; 394 | margin: 0 5px 0 0; 395 | } 396 | 397 | form.formtastic fieldset.inputs ol li.boolean label { 398 | display: block; 399 | float: left; 400 | clear: none; 401 | margin: 0; 402 | padding: 0; 403 | } 404 | 405 | form.formtastic fieldset.buttons { 406 | margin: 0; 407 | padding: 0; 408 | } 409 | 410 | form.fullwidth ol li.string input, form.fullwidth ol li.url input, form.fullwidth ol li.text textarea, form.fullwidth ol li.numeric input { 411 | width: 500px !important; 412 | } 413 | 414 | body { 415 | font-family: "Droid Sans", sans-serif; 416 | } 417 | 418 | body #content_message { 419 | margin: 10px 15px; 420 | font-style: italic; 421 | color: #999999; 422 | } 423 | 424 | body #header { 425 | background-color: #646257; 426 | padding: 14px; 427 | } 428 | 429 | body #header a#logo { 430 | font-size: 1.5em; 431 | font-weight: bold; 432 | text-decoration: none; 433 | background: transparent url(http://luracast.com/images/restler3-icon.png) no-repeat left center; 434 | padding: 20px 0 20px 40px; 435 | color: white; 436 | } 437 | 438 | body #header form#api_selector { 439 | display: block; 440 | clear: none; 441 | float: right; 442 | } 443 | 444 | body #header form#api_selector .input { 445 | display: block; 446 | clear: none; 447 | float: left; 448 | margin: 0 10px 0 0; 449 | } 450 | 451 | body #header form#api_selector .input input { 452 | font-size: 0.9em; 453 | padding: 3px; 454 | margin: 0; 455 | } 456 | 457 | body #header form#api_selector .input input#input_baseUrl { 458 | width: 400px; 459 | } 460 | 461 | body #header form#api_selector .input input#input_apiKey { 462 | width: 200px; 463 | } 464 | 465 | body #header form#api_selector .input a#explore { 466 | display: block; 467 | text-decoration: none; 468 | font-weight: bold; 469 | padding: 6px 8px; 470 | font-size: 0.9em; 471 | color: white; 472 | background-color: #000000; 473 | -moz-border-radius: 4px; 474 | -webkit-border-radius: 4px; 475 | -o-border-radius: 4px; 476 | -ms-border-radius: 4px; 477 | -khtml-border-radius: 4px; 478 | border-radius: 4px; 479 | } 480 | 481 | body #header form#api_selector .input a#explore:hover { 482 | background-color: #a41e22; 483 | } 484 | 485 | body p#colophon { 486 | margin: 0 15px 40px 15px; 487 | padding: 10px 0; 488 | font-size: 0.8em; 489 | border-top: 1px solid #dddddd; 490 | font-family: "Droid Sans", sans-serif; 491 | color: #999999; 492 | font-style: italic; 493 | } 494 | 495 | body p#colophon a { 496 | text-decoration: none; 497 | color: #547f00; 498 | } 499 | 500 | body ul#resources { 501 | font-family: "Droid Sans", sans-serif; 502 | font-size: 0.9em; 503 | } 504 | 505 | body ul#resources li.resource { 506 | border-bottom: 1px solid #dddddd; 507 | } 508 | 509 | body ul#resources li.resource:last-child { 510 | border-bottom: none; 511 | } 512 | 513 | body ul#resources li.resource div.heading { 514 | border: 1px solid transparent; 515 | float: none; 516 | clear: both; 517 | overflow: hidden; 518 | display: block; 519 | } 520 | 521 | body ul#resources li.resource div.heading h2 { 522 | color: #999999; 523 | padding-left: 0px; 524 | display: block; 525 | clear: none; 526 | float: left; 527 | font-family: "Droid Sans", sans-serif; 528 | font-weight: bold; 529 | } 530 | 531 | body ul#resources li.resource div.heading h2 a { 532 | color: #999999; 533 | } 534 | 535 | body ul#resources li.resource div.heading h2 a:hover { 536 | color: black; 537 | } 538 | 539 | body ul#resources li.resource div.heading ul.options { 540 | float: none; 541 | clear: both; 542 | overflow: hidden; 543 | margin: 0; 544 | padding: 0; 545 | display: block; 546 | clear: none; 547 | float: right; 548 | margin: 14px 10px 0 0; 549 | } 550 | 551 | body ul#resources li.resource div.heading ul.options li { 552 | float: left; 553 | clear: none; 554 | margin: 0; 555 | padding: 2px 10px; 556 | border-right: 1px solid #dddddd; 557 | } 558 | 559 | body ul#resources li.resource div.heading ul.options li:first-child, body ul#resources li.resource div.heading ul.options li.first { 560 | padding-left: 0; 561 | } 562 | 563 | body ul#resources li.resource div.heading ul.options li:last-child, body ul#resources li.resource div.heading ul.options li.last { 564 | padding-right: 0; 565 | border-right: none; 566 | } 567 | 568 | body ul#resources li.resource div.heading ul.options li { 569 | color: #666666; 570 | font-size: 0.9em; 571 | } 572 | 573 | body ul#resources li.resource div.heading ul.options li a { 574 | color: #aaaaaa; 575 | text-decoration: none; 576 | } 577 | 578 | body ul#resources li.resource div.heading ul.options li a:hover { 579 | text-decoration: underline; 580 | color: black; 581 | } 582 | 583 | body ul#resources li.resource:hover div.heading h2 a, body ul#resources li.resource.active div.heading h2 a { 584 | color: black; 585 | } 586 | 587 | body ul#resources li.resource:hover div.heading ul.options li a, body ul#resources li.resource.active div.heading ul.options li a { 588 | color: #555555; 589 | } 590 | 591 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get { 592 | float: none; 593 | clear: both; 594 | overflow: hidden; 595 | display: block; 596 | margin: 0 0 10px 0; 597 | padding: 0 0 0 0px; 598 | } 599 | 600 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading { 601 | float: none; 602 | clear: both; 603 | overflow: hidden; 604 | display: block; 605 | margin: 0 0 0 0; 606 | padding: 0; 607 | background-color: #e7f0f7; 608 | border: 1px solid black; 609 | border-color: #c3d9ec; 610 | } 611 | 612 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading h3 { 613 | display: block; 614 | clear: none; 615 | float: left; 616 | width: auto; 617 | margin: 0; 618 | padding: 0; 619 | line-height: 1.1em; 620 | color: black; 621 | } 622 | 623 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading h3 span { 624 | margin: 0; 625 | padding: 0; 626 | } 627 | 628 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading h3 span.http_method a { 629 | text-transform: uppercase; 630 | background-color: #0f6ab4; 631 | text-decoration: none; 632 | color: white; 633 | display: inline-block; 634 | width: 50px; 635 | font-size: 0.7em; 636 | text-align: center; 637 | padding: 7px 0 4px 0; 638 | -moz-border-radius: 2px; 639 | -webkit-border-radius: 2px; 640 | -o-border-radius: 2px; 641 | -ms-border-radius: 2px; 642 | -khtml-border-radius: 2px; 643 | border-radius: 2px; 644 | } 645 | 646 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading h3 span.path { 647 | padding-left: 10px; 648 | } 649 | 650 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading h3 span.path a { 651 | color: black; 652 | text-decoration: none; 653 | } 654 | 655 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading h3 span.path a:hover { 656 | text-decoration: underline; 657 | } 658 | 659 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options { 660 | float: none; 661 | clear: both; 662 | overflow: hidden; 663 | margin: 0; 664 | padding: 0; 665 | display: block; 666 | clear: none; 667 | float: right; 668 | margin: 6px 10px 0 0; 669 | } 670 | 671 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li { 672 | float: left; 673 | clear: none; 674 | margin: 0; 675 | padding: 2px 10px; 676 | border-right: 1px solid #dddddd; 677 | } 678 | 679 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li:first-child, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li.first { 680 | padding-left: 0; 681 | } 682 | 683 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li:last-child, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li.last { 684 | padding-right: 0; 685 | border-right: none; 686 | } 687 | 688 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li { 689 | border-right-color: #c3d9ec; 690 | color: #0f6ab4; 691 | font-size: 0.9em; 692 | } 693 | 694 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li a { 695 | color: #0f6ab4; 696 | text-decoration: none; 697 | } 698 | 699 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li a:hover, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li a:active, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li a.active { 700 | text-decoration: underline; 701 | } 702 | 703 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content { 704 | background-color: #ebf3f9; 705 | border: 1px solid black; 706 | border-color: #c3d9ec; 707 | border-top: none; 708 | padding: 10px; 709 | -moz-border-radius-bottomleft: 6px; 710 | -webkit-border-bottom-left-radius: 6px; 711 | -o-border-bottom-left-radius: 6px; 712 | -ms-border-bottom-left-radius: 6px; 713 | -khtml-border-bottom-left-radius: 6px; 714 | border-bottom-left-radius: 6px; 715 | -moz-border-radius-bottomright: 6px; 716 | -webkit-border-bottom-right-radius: 6px; 717 | -o-border-bottom-right-radius: 6px; 718 | -ms-border-bottom-right-radius: 6px; 719 | -khtml-border-bottom-right-radius: 6px; 720 | border-bottom-right-radius: 6px; 721 | margin: 0 0 20px 0; 722 | } 723 | 724 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content h4 { 725 | color: #0f6ab4; 726 | font-size: 1.1em; 727 | margin: 0; 728 | padding: 15px 0 5px 0px; 729 | } 730 | 731 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content form input[type='text'].error { 732 | outline: 2px solid black; 733 | outline-color: #cc0000; 734 | } 735 | 736 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content div.sandbox_header { 737 | float: none; 738 | clear: both; 739 | overflow: hidden; 740 | display: block; 741 | } 742 | 743 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content div.sandbox_header input.submit { 744 | display: block; 745 | clear: none; 746 | float: left; 747 | padding: 6px 8px; 748 | } 749 | 750 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content div.sandbox_header img { 751 | display: block; 752 | display: block; 753 | clear: none; 754 | float: right; 755 | } 756 | 757 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content div.sandbox_header a { 758 | padding: 4px 0 0 10px; 759 | color: #6fa5d2; 760 | display: inline-block; 761 | font-size: 0.9em; 762 | } 763 | 764 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content div.response div.block { 765 | background-color: #fcf6db; 766 | border: 1px solid black; 767 | border-color: #e5e0c6; 768 | } 769 | 770 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content div.response div.block pre { 771 | font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; 772 | padding: 10px; 773 | font-size: 0.9em; 774 | max-height: 400px; 775 | overflow-y: auto; 776 | } 777 | 778 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post { 779 | float: none; 780 | clear: both; 781 | overflow: hidden; 782 | display: block; 783 | margin: 0 0 10px 0; 784 | padding: 0 0 0 0px; 785 | } 786 | 787 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading { 788 | float: none; 789 | clear: both; 790 | overflow: hidden; 791 | display: block; 792 | margin: 0 0 0 0; 793 | padding: 0; 794 | background-color: #e7f6ec; 795 | border: 1px solid black; 796 | border-color: #c3e8d1; 797 | } 798 | 799 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading h3 { 800 | display: block; 801 | clear: none; 802 | float: left; 803 | width: auto; 804 | margin: 0; 805 | padding: 0; 806 | line-height: 1.1em; 807 | color: black; 808 | } 809 | 810 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading h3 span { 811 | margin: 0; 812 | padding: 0; 813 | } 814 | 815 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading h3 span.http_method a { 816 | text-transform: uppercase; 817 | background-color: #10a54a; 818 | text-decoration: none; 819 | color: white; 820 | display: inline-block; 821 | width: 50px; 822 | font-size: 0.7em; 823 | text-align: center; 824 | padding: 7px 0 4px 0; 825 | -moz-border-radius: 2px; 826 | -webkit-border-radius: 2px; 827 | -o-border-radius: 2px; 828 | -ms-border-radius: 2px; 829 | -khtml-border-radius: 2px; 830 | border-radius: 2px; 831 | } 832 | 833 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading h3 span.path { 834 | padding-left: 10px; 835 | } 836 | 837 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading h3 span.path a { 838 | color: black; 839 | text-decoration: none; 840 | } 841 | 842 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading h3 span.path a:hover { 843 | text-decoration: underline; 844 | } 845 | 846 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options { 847 | float: none; 848 | clear: both; 849 | overflow: hidden; 850 | margin: 0; 851 | padding: 0; 852 | display: block; 853 | clear: none; 854 | float: right; 855 | margin: 6px 10px 0 0; 856 | } 857 | 858 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li { 859 | float: left; 860 | clear: none; 861 | margin: 0; 862 | padding: 2px 10px; 863 | border-right: 1px solid #dddddd; 864 | } 865 | 866 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li:first-child, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li.first { 867 | padding-left: 0; 868 | } 869 | 870 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li:last-child, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li.last { 871 | padding-right: 0; 872 | border-right: none; 873 | } 874 | 875 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li { 876 | border-right-color: #c3e8d1; 877 | color: #10a54a; 878 | font-size: 0.9em; 879 | } 880 | 881 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li a { 882 | color: #10a54a; 883 | text-decoration: none; 884 | } 885 | 886 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li a:hover, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li a:active, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li a.active { 887 | text-decoration: underline; 888 | } 889 | 890 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content { 891 | background-color: #ebf7f0; 892 | border: 1px solid black; 893 | border-color: #c3e8d1; 894 | border-top: none; 895 | padding: 10px; 896 | -moz-border-radius-bottomleft: 6px; 897 | -webkit-border-bottom-left-radius: 6px; 898 | -o-border-bottom-left-radius: 6px; 899 | -ms-border-bottom-left-radius: 6px; 900 | -khtml-border-bottom-left-radius: 6px; 901 | border-bottom-left-radius: 6px; 902 | -moz-border-radius-bottomright: 6px; 903 | -webkit-border-bottom-right-radius: 6px; 904 | -o-border-bottom-right-radius: 6px; 905 | -ms-border-bottom-right-radius: 6px; 906 | -khtml-border-bottom-right-radius: 6px; 907 | border-bottom-right-radius: 6px; 908 | margin: 0 0 20px 0; 909 | } 910 | 911 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content h4 { 912 | color: #10a54a; 913 | font-size: 1.1em; 914 | margin: 0; 915 | padding: 15px 0 5px 0px; 916 | } 917 | 918 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content form input[type='text'].error { 919 | outline: 2px solid black; 920 | outline-color: #cc0000; 921 | } 922 | 923 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content div.sandbox_header { 924 | float: none; 925 | clear: both; 926 | overflow: hidden; 927 | display: block; 928 | } 929 | 930 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content div.sandbox_header input.submit { 931 | display: block; 932 | clear: none; 933 | float: left; 934 | padding: 6px 8px; 935 | } 936 | 937 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content div.sandbox_header img { 938 | display: block; 939 | display: block; 940 | clear: none; 941 | float: right; 942 | } 943 | 944 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content div.sandbox_header a { 945 | padding: 4px 0 0 10px; 946 | color: #6fc992; 947 | display: inline-block; 948 | font-size: 0.9em; 949 | } 950 | 951 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content div.response div.block { 952 | background-color: #fcf6db; 953 | border: 1px solid black; 954 | border-color: #e5e0c6; 955 | } 956 | 957 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content div.response div.block pre { 958 | font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; 959 | padding: 10px; 960 | font-size: 0.9em; 961 | max-height: 400px; 962 | overflow-y: auto; 963 | } 964 | 965 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put { 966 | float: none; 967 | clear: both; 968 | overflow: hidden; 969 | display: block; 970 | margin: 0 0 10px 0; 971 | padding: 0 0 0 0px; 972 | } 973 | 974 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading { 975 | float: none; 976 | clear: both; 977 | overflow: hidden; 978 | display: block; 979 | margin: 0 0 0 0; 980 | padding: 0; 981 | background-color: #f9f2e9; 982 | border: 1px solid black; 983 | border-color: #f0e0ca; 984 | } 985 | 986 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading h3 { 987 | display: block; 988 | clear: none; 989 | float: left; 990 | width: auto; 991 | margin: 0; 992 | padding: 0; 993 | line-height: 1.1em; 994 | color: black; 995 | } 996 | 997 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading h3 span { 998 | margin: 0; 999 | padding: 0; 1000 | } 1001 | 1002 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading h3 span.http_method a { 1003 | text-transform: uppercase; 1004 | background-color: #c5862b; 1005 | text-decoration: none; 1006 | color: white; 1007 | display: inline-block; 1008 | width: 50px; 1009 | font-size: 0.7em; 1010 | text-align: center; 1011 | padding: 7px 0 4px 0; 1012 | -moz-border-radius: 2px; 1013 | -webkit-border-radius: 2px; 1014 | -o-border-radius: 2px; 1015 | -ms-border-radius: 2px; 1016 | -khtml-border-radius: 2px; 1017 | border-radius: 2px; 1018 | } 1019 | 1020 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading h3 span.path { 1021 | padding-left: 10px; 1022 | } 1023 | 1024 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading h3 span.path a { 1025 | color: black; 1026 | text-decoration: none; 1027 | } 1028 | 1029 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading h3 span.path a:hover { 1030 | text-decoration: underline; 1031 | } 1032 | 1033 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options { 1034 | float: none; 1035 | clear: both; 1036 | overflow: hidden; 1037 | margin: 0; 1038 | padding: 0; 1039 | display: block; 1040 | clear: none; 1041 | float: right; 1042 | margin: 6px 10px 0 0; 1043 | } 1044 | 1045 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li { 1046 | float: left; 1047 | clear: none; 1048 | margin: 0; 1049 | padding: 2px 10px; 1050 | border-right: 1px solid #dddddd; 1051 | } 1052 | 1053 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li:first-child, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li.first { 1054 | padding-left: 0; 1055 | } 1056 | 1057 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li:last-child, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li.last { 1058 | padding-right: 0; 1059 | border-right: none; 1060 | } 1061 | 1062 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li { 1063 | border-right-color: #f0e0ca; 1064 | color: #c5862b; 1065 | font-size: 0.9em; 1066 | } 1067 | 1068 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li a { 1069 | color: #c5862b; 1070 | text-decoration: none; 1071 | } 1072 | 1073 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li a:hover, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li a:active, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li a.active { 1074 | text-decoration: underline; 1075 | } 1076 | 1077 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content { 1078 | background-color: #faf5ee; 1079 | border: 1px solid black; 1080 | border-color: #f0e0ca; 1081 | border-top: none; 1082 | padding: 10px; 1083 | -moz-border-radius-bottomleft: 6px; 1084 | -webkit-border-bottom-left-radius: 6px; 1085 | -o-border-bottom-left-radius: 6px; 1086 | -ms-border-bottom-left-radius: 6px; 1087 | -khtml-border-bottom-left-radius: 6px; 1088 | border-bottom-left-radius: 6px; 1089 | -moz-border-radius-bottomright: 6px; 1090 | -webkit-border-bottom-right-radius: 6px; 1091 | -o-border-bottom-right-radius: 6px; 1092 | -ms-border-bottom-right-radius: 6px; 1093 | -khtml-border-bottom-right-radius: 6px; 1094 | border-bottom-right-radius: 6px; 1095 | margin: 0 0 20px 0; 1096 | } 1097 | 1098 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content h4 { 1099 | color: #c5862b; 1100 | font-size: 1.1em; 1101 | margin: 0; 1102 | padding: 15px 0 5px 0px; 1103 | } 1104 | 1105 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content form input[type='text'].error { 1106 | outline: 2px solid black; 1107 | outline-color: #cc0000; 1108 | } 1109 | 1110 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content div.sandbox_header { 1111 | float: none; 1112 | clear: both; 1113 | overflow: hidden; 1114 | display: block; 1115 | } 1116 | 1117 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content div.sandbox_header input.submit { 1118 | display: block; 1119 | clear: none; 1120 | float: left; 1121 | padding: 6px 8px; 1122 | } 1123 | 1124 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content div.sandbox_header img { 1125 | display: block; 1126 | display: block; 1127 | clear: none; 1128 | float: right; 1129 | } 1130 | 1131 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content div.sandbox_header a { 1132 | padding: 4px 0 0 10px; 1133 | color: #dcb67f; 1134 | display: inline-block; 1135 | font-size: 0.9em; 1136 | } 1137 | 1138 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content div.response div.block { 1139 | background-color: #fcf6db; 1140 | border: 1px solid black; 1141 | border-color: #e5e0c6; 1142 | } 1143 | 1144 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content div.response div.block pre { 1145 | font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; 1146 | padding: 10px; 1147 | font-size: 0.9em; 1148 | max-height: 400px; 1149 | overflow-y: auto; 1150 | } 1151 | 1152 | 1153 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch { 1154 | float: none; 1155 | clear: both; 1156 | overflow: hidden; 1157 | display: block; 1158 | margin: 0 0 10px 0; 1159 | padding: 0 0 0 0px; 1160 | } 1161 | 1162 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading { 1163 | float: none; 1164 | clear: both; 1165 | overflow: hidden; 1166 | display: block; 1167 | margin: 0 0 0 0; 1168 | padding: 0; 1169 | background-color: #FCE9E3; 1170 | border: 1px solid black; 1171 | border-color: #F5D5C3; 1172 | } 1173 | 1174 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading h3 { 1175 | display: block; 1176 | clear: none; 1177 | float: left; 1178 | width: auto; 1179 | margin: 0; 1180 | padding: 0; 1181 | line-height: 1.1em; 1182 | color: black; 1183 | } 1184 | 1185 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading h3 span { 1186 | margin: 0; 1187 | padding: 0; 1188 | } 1189 | 1190 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading h3 span.http_method a { 1191 | text-transform: uppercase; 1192 | background-color: #D38042; 1193 | text-decoration: none; 1194 | color: white; 1195 | display: inline-block; 1196 | width: 50px; 1197 | font-size: 0.7em; 1198 | text-align: center; 1199 | padding: 7px 0 4px 0; 1200 | -moz-border-radius: 2px; 1201 | -webkit-border-radius: 2px; 1202 | -o-border-radius: 2px; 1203 | -ms-border-radius: 2px; 1204 | -khtml-border-radius: 2px; 1205 | border-radius: 2px; 1206 | } 1207 | 1208 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading h3 span.path { 1209 | padding-left: 10px; 1210 | } 1211 | 1212 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading h3 span.path a { 1213 | color: black; 1214 | text-decoration: none; 1215 | } 1216 | 1217 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading h3 span.path a:hover { 1218 | text-decoration: underline; 1219 | } 1220 | 1221 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options { 1222 | float: none; 1223 | clear: both; 1224 | overflow: hidden; 1225 | margin: 0; 1226 | padding: 0; 1227 | display: block; 1228 | clear: none; 1229 | float: right; 1230 | margin: 6px 10px 0 0; 1231 | } 1232 | 1233 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li { 1234 | float: left; 1235 | clear: none; 1236 | margin: 0; 1237 | padding: 2px 10px; 1238 | border-right: 1px solid #dddddd; 1239 | } 1240 | 1241 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li:first-child, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li.first { 1242 | padding-left: 0; 1243 | } 1244 | 1245 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li:last-child, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li.last { 1246 | padding-right: 0; 1247 | border-right: none; 1248 | } 1249 | 1250 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li { 1251 | border-right-color: #f0cecb; 1252 | color: #D38042; 1253 | font-size: 0.9em; 1254 | } 1255 | 1256 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li a { 1257 | color: #D38042; 1258 | text-decoration: none; 1259 | } 1260 | 1261 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li a:hover, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li a:active, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li a.active { 1262 | text-decoration: underline; 1263 | } 1264 | 1265 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content { 1266 | background-color: #faf0ef; 1267 | border: 1px solid black; 1268 | border-color: #f0cecb; 1269 | border-top: none; 1270 | padding: 10px; 1271 | -moz-border-radius-bottomleft: 6px; 1272 | -webkit-border-bottom-left-radius: 6px; 1273 | -o-border-bottom-left-radius: 6px; 1274 | -ms-border-bottom-left-radius: 6px; 1275 | -khtml-border-bottom-left-radius: 6px; 1276 | border-bottom-left-radius: 6px; 1277 | -moz-border-radius-bottomright: 6px; 1278 | -webkit-border-bottom-right-radius: 6px; 1279 | -o-border-bottom-right-radius: 6px; 1280 | -ms-border-bottom-right-radius: 6px; 1281 | -khtml-border-bottom-right-radius: 6px; 1282 | border-bottom-right-radius: 6px; 1283 | margin: 0 0 20px 0; 1284 | } 1285 | 1286 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content h4 { 1287 | color: #D38042; 1288 | font-size: 1.1em; 1289 | margin: 0; 1290 | padding: 15px 0 5px 0px; 1291 | } 1292 | 1293 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content form input[type='text'].error { 1294 | outline: 2px solid black; 1295 | outline-color: #F5D5C3; 1296 | } 1297 | 1298 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content div.sandbox_header { 1299 | float: none; 1300 | clear: both; 1301 | overflow: hidden; 1302 | display: block; 1303 | } 1304 | 1305 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content div.sandbox_header input.submit { 1306 | display: block; 1307 | clear: none; 1308 | float: left; 1309 | padding: 6px 8px; 1310 | } 1311 | 1312 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content div.sandbox_header img { 1313 | display: block; 1314 | display: block; 1315 | clear: none; 1316 | float: right; 1317 | } 1318 | 1319 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content div.sandbox_header a { 1320 | padding: 4px 0 0 10px; 1321 | color: #dcb67f; 1322 | display: inline-block; 1323 | font-size: 0.9em; 1324 | } 1325 | 1326 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content div.response div.block { 1327 | background-color: #fcf6db; 1328 | border: 1px solid black; 1329 | border-color: #e5e0c6; 1330 | } 1331 | 1332 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content div.response div.block pre { 1333 | font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; 1334 | padding: 10px; 1335 | font-size: 0.9em; 1336 | max-height: 400px; 1337 | overflow-y: auto; 1338 | } 1339 | 1340 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete { 1341 | float: none; 1342 | clear: both; 1343 | overflow: hidden; 1344 | display: block; 1345 | margin: 0 0 10px 0; 1346 | padding: 0 0 0 0px; 1347 | } 1348 | 1349 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading { 1350 | float: none; 1351 | clear: both; 1352 | overflow: hidden; 1353 | display: block; 1354 | margin: 0 0 0 0; 1355 | padding: 0; 1356 | background-color: #f5e8e8; 1357 | border: 1px solid black; 1358 | border-color: #e8c6c7; 1359 | } 1360 | 1361 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading h3 { 1362 | display: block; 1363 | clear: none; 1364 | float: left; 1365 | width: auto; 1366 | margin: 0; 1367 | padding: 0; 1368 | line-height: 1.1em; 1369 | color: black; 1370 | } 1371 | 1372 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading h3 span { 1373 | margin: 0; 1374 | padding: 0; 1375 | } 1376 | 1377 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading h3 span.http_method a { 1378 | text-transform: uppercase; 1379 | background-color: #a41e22; 1380 | text-decoration: none; 1381 | color: white; 1382 | display: inline-block; 1383 | width: 50px; 1384 | font-size: 0.7em; 1385 | text-align: center; 1386 | padding: 7px 0 4px 0; 1387 | -moz-border-radius: 2px; 1388 | -webkit-border-radius: 2px; 1389 | -o-border-radius: 2px; 1390 | -ms-border-radius: 2px; 1391 | -khtml-border-radius: 2px; 1392 | border-radius: 2px; 1393 | } 1394 | 1395 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading h3 span.path { 1396 | padding-left: 10px; 1397 | } 1398 | 1399 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading h3 span.path a { 1400 | color: black; 1401 | text-decoration: none; 1402 | } 1403 | 1404 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading h3 span.path a:hover { 1405 | text-decoration: underline; 1406 | } 1407 | 1408 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options { 1409 | float: none; 1410 | clear: both; 1411 | overflow: hidden; 1412 | margin: 0; 1413 | padding: 0; 1414 | display: block; 1415 | clear: none; 1416 | float: right; 1417 | margin: 6px 10px 0 0; 1418 | } 1419 | 1420 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li { 1421 | float: left; 1422 | clear: none; 1423 | margin: 0; 1424 | padding: 2px 10px; 1425 | border-right: 1px solid #dddddd; 1426 | } 1427 | 1428 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li:first-child, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li.first { 1429 | padding-left: 0; 1430 | } 1431 | 1432 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li:last-child, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li.last { 1433 | padding-right: 0; 1434 | border-right: none; 1435 | } 1436 | 1437 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li { 1438 | border-right-color: #e8c6c7; 1439 | color: #a41e22; 1440 | font-size: 0.9em; 1441 | } 1442 | 1443 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li a { 1444 | color: #a41e22; 1445 | text-decoration: none; 1446 | } 1447 | 1448 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li a:hover, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li a:active, body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li a.active { 1449 | text-decoration: underline; 1450 | } 1451 | 1452 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content { 1453 | background-color: #f7eded; 1454 | border: 1px solid black; 1455 | border-color: #e8c6c7; 1456 | border-top: none; 1457 | padding: 10px; 1458 | -moz-border-radius-bottomleft: 6px; 1459 | -webkit-border-bottom-left-radius: 6px; 1460 | -o-border-bottom-left-radius: 6px; 1461 | -ms-border-bottom-left-radius: 6px; 1462 | -khtml-border-bottom-left-radius: 6px; 1463 | border-bottom-left-radius: 6px; 1464 | -moz-border-radius-bottomright: 6px; 1465 | -webkit-border-bottom-right-radius: 6px; 1466 | -o-border-bottom-right-radius: 6px; 1467 | -ms-border-bottom-right-radius: 6px; 1468 | -khtml-border-bottom-right-radius: 6px; 1469 | border-bottom-right-radius: 6px; 1470 | margin: 0 0 20px 0; 1471 | } 1472 | 1473 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content h4 { 1474 | color: #a41e22; 1475 | font-size: 1.1em; 1476 | margin: 0; 1477 | padding: 15px 0 5px 0px; 1478 | } 1479 | 1480 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content form input[type='text'].error { 1481 | outline: 2px solid black; 1482 | outline-color: #cc0000; 1483 | } 1484 | 1485 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content div.sandbox_header { 1486 | float: none; 1487 | clear: both; 1488 | overflow: hidden; 1489 | display: block; 1490 | } 1491 | 1492 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content div.sandbox_header input.submit { 1493 | display: block; 1494 | clear: none; 1495 | float: left; 1496 | padding: 6px 8px; 1497 | } 1498 | 1499 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content div.sandbox_header img { 1500 | display: block; 1501 | display: block; 1502 | clear: none; 1503 | float: right; 1504 | } 1505 | 1506 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content div.sandbox_header a { 1507 | padding: 4px 0 0 10px; 1508 | color: #c8787a; 1509 | display: inline-block; 1510 | font-size: 0.9em; 1511 | } 1512 | 1513 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content div.response div.block { 1514 | background-color: #fcf6db; 1515 | border: 1px solid black; 1516 | border-color: #e5e0c6; 1517 | } 1518 | 1519 | body ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content div.response div.block pre { 1520 | font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; 1521 | padding: 10px; 1522 | font-size: 0.9em; 1523 | max-height: 400px; 1524 | overflow-y: auto; 1525 | } 1526 | 1527 | 1528 | .model-signature { 1529 | font-family: "Droid Sans", sans-serif; 1530 | font-size: 1em; 1531 | line-height: 1.5em; 1532 | } 1533 | .model-signature span { 1534 | font-size: 0.9em; 1535 | line-height: 1.5em; 1536 | } 1537 | .model-signature span:nth-child(odd) { color:#333; } 1538 | .model-signature span:nth-child(even) { color:#C5862B; } 1539 | -------------------------------------------------------------------------------- /dist/images/pet_store_api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luracast/Restler-API-Explorer/f62dd4fd45861003b88f98d5d3423244e8050c61/dist/images/pet_store_api.png -------------------------------------------------------------------------------- /dist/images/throbber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Luracast/Restler-API-Explorer/f62dd4fd45861003b88f98d5d3423244e8050c61/dist/images/throbber.gif -------------------------------------------------------------------------------- /dist/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Restler API Explorer 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 42 | 43 | 71 | 72 | 73 | 74 | 84 | 85 |
86 |   87 |
88 | 89 |
90 | 91 |
92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /dist/lib/backbone-min.js: -------------------------------------------------------------------------------- 1 | // Backbone.js 0.9.2 2 | 3 | // (c) 2010-2012 Jeremy Ashkenas, DocumentCloud Inc. 4 | // Backbone may be freely distributed under the MIT license. 5 | // For all details and documentation: 6 | // http://backbonejs.org 7 | (function(){var l=this,y=l.Backbone,z=Array.prototype.slice,A=Array.prototype.splice,g;g="undefined"!==typeof exports?exports:l.Backbone={};g.VERSION="0.9.2";var f=l._;!f&&"undefined"!==typeof require&&(f=require("underscore"));var i=l.jQuery||l.Zepto||l.ender;g.setDomLibrary=function(a){i=a};g.noConflict=function(){l.Backbone=y;return this};g.emulateHTTP=!1;g.emulateJSON=!1;var p=/\s+/,k=g.Events={on:function(a,b,c){var d,e,f,g,j;if(!b)return this;a=a.split(p);for(d=this._callbacks||(this._callbacks= 8 | {});e=a.shift();)f=(j=d[e])?j.tail:{},f.next=g={},f.context=c,f.callback=b,d[e]={tail:g,next:j?j.next:f};return this},off:function(a,b,c){var d,e,h,g,j,q;if(e=this._callbacks){if(!a&&!b&&!c)return delete this._callbacks,this;for(a=a?a.split(p):f.keys(e);d=a.shift();)if(h=e[d],delete e[d],h&&(b||c))for(g=h.tail;(h=h.next)!==g;)if(j=h.callback,q=h.context,b&&j!==b||c&&q!==c)this.on(d,j,q);return this}},trigger:function(a){var b,c,d,e,f,g;if(!(d=this._callbacks))return this;f=d.all;a=a.split(p);for(g= 9 | z.call(arguments,1);b=a.shift();){if(c=d[b])for(e=c.tail;(c=c.next)!==e;)c.callback.apply(c.context||this,g);if(c=f){e=c.tail;for(b=[b].concat(g);(c=c.next)!==e;)c.callback.apply(c.context||this,b)}}return this}};k.bind=k.on;k.unbind=k.off;var o=g.Model=function(a,b){var c;a||(a={});b&&b.parse&&(a=this.parse(a));if(c=n(this,"defaults"))a=f.extend({},c,a);b&&b.collection&&(this.collection=b.collection);this.attributes={};this._escapedAttributes={};this.cid=f.uniqueId("c");this.changed={};this._silent= 10 | {};this._pending={};this.set(a,{silent:!0});this.changed={};this._silent={};this._pending={};this._previousAttributes=f.clone(this.attributes);this.initialize.apply(this,arguments)};f.extend(o.prototype,k,{changed:null,_silent:null,_pending:null,idAttribute:"id",initialize:function(){},toJSON:function(){return f.clone(this.attributes)},get:function(a){return this.attributes[a]},escape:function(a){var b;if(b=this._escapedAttributes[a])return b;b=this.get(a);return this._escapedAttributes[a]=f.escape(null== 11 | b?"":""+b)},has:function(a){return null!=this.get(a)},set:function(a,b,c){var d,e;f.isObject(a)||null==a?(d=a,c=b):(d={},d[a]=b);c||(c={});if(!d)return this;d instanceof o&&(d=d.attributes);if(c.unset)for(e in d)d[e]=void 0;if(!this._validate(d,c))return!1;this.idAttribute in d&&(this.id=d[this.idAttribute]);var b=c.changes={},h=this.attributes,g=this._escapedAttributes,j=this._previousAttributes||{};for(e in d){a=d[e];if(!f.isEqual(h[e],a)||c.unset&&f.has(h,e))delete g[e],(c.silent?this._silent: 12 | b)[e]=!0;c.unset?delete h[e]:h[e]=a;!f.isEqual(j[e],a)||f.has(h,e)!=f.has(j,e)?(this.changed[e]=a,c.silent||(this._pending[e]=!0)):(delete this.changed[e],delete this._pending[e])}c.silent||this.change(c);return this},unset:function(a,b){(b||(b={})).unset=!0;return this.set(a,null,b)},clear:function(a){(a||(a={})).unset=!0;return this.set(f.clone(this.attributes),a)},fetch:function(a){var a=a?f.clone(a):{},b=this,c=a.success;a.success=function(d,e,f){if(!b.set(b.parse(d,f),a))return!1;c&&c(b,d)}; 13 | a.error=g.wrapError(a.error,b,a);return(this.sync||g.sync).call(this,"read",this,a)},save:function(a,b,c){var d,e;f.isObject(a)||null==a?(d=a,c=b):(d={},d[a]=b);c=c?f.clone(c):{};if(c.wait){if(!this._validate(d,c))return!1;e=f.clone(this.attributes)}a=f.extend({},c,{silent:!0});if(d&&!this.set(d,c.wait?a:c))return!1;var h=this,i=c.success;c.success=function(a,b,e){b=h.parse(a,e);if(c.wait){delete c.wait;b=f.extend(d||{},b)}if(!h.set(b,c))return false;i?i(h,a):h.trigger("sync",h,a,c)};c.error=g.wrapError(c.error, 14 | h,c);b=this.isNew()?"create":"update";b=(this.sync||g.sync).call(this,b,this,c);c.wait&&this.set(e,a);return b},destroy:function(a){var a=a?f.clone(a):{},b=this,c=a.success,d=function(){b.trigger("destroy",b,b.collection,a)};if(this.isNew())return d(),!1;a.success=function(e){a.wait&&d();c?c(b,e):b.trigger("sync",b,e,a)};a.error=g.wrapError(a.error,b,a);var e=(this.sync||g.sync).call(this,"delete",this,a);a.wait||d();return e},url:function(){var a=n(this,"urlRoot")||n(this.collection,"url")||t(); 15 | return this.isNew()?a:a+("/"==a.charAt(a.length-1)?"":"/")+encodeURIComponent(this.id)},parse:function(a){return a},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return null==this.id},change:function(a){a||(a={});var b=this._changing;this._changing=!0;for(var c in this._silent)this._pending[c]=!0;var d=f.extend({},a.changes,this._silent);this._silent={};for(c in d)this.trigger("change:"+c,this,this.get(c),a);if(b)return this;for(;!f.isEmpty(this._pending);){this._pending= 16 | {};this.trigger("change",this,a);for(c in this.changed)!this._pending[c]&&!this._silent[c]&&delete this.changed[c];this._previousAttributes=f.clone(this.attributes)}this._changing=!1;return this},hasChanged:function(a){return!arguments.length?!f.isEmpty(this.changed):f.has(this.changed,a)},changedAttributes:function(a){if(!a)return this.hasChanged()?f.clone(this.changed):!1;var b,c=!1,d=this._previousAttributes,e;for(e in a)if(!f.isEqual(d[e],b=a[e]))(c||(c={}))[e]=b;return c},previous:function(a){return!arguments.length|| 17 | !this._previousAttributes?null:this._previousAttributes[a]},previousAttributes:function(){return f.clone(this._previousAttributes)},isValid:function(){return!this.validate(this.attributes)},_validate:function(a,b){if(b.silent||!this.validate)return!0;var a=f.extend({},this.attributes,a),c=this.validate(a,b);if(!c)return!0;b&&b.error?b.error(this,c,b):this.trigger("error",this,c,b);return!1}});var r=g.Collection=function(a,b){b||(b={});b.model&&(this.model=b.model);b.comparator&&(this.comparator=b.comparator); 18 | this._reset();this.initialize.apply(this,arguments);a&&this.reset(a,{silent:!0,parse:b.parse})};f.extend(r.prototype,k,{model:o,initialize:function(){},toJSON:function(a){return this.map(function(b){return b.toJSON(a)})},add:function(a,b){var c,d,e,g,i,j={},k={},l=[];b||(b={});a=f.isArray(a)?a.slice():[a];c=0;for(d=a.length;c=b))this.iframe=i('