Enables instrumentation of Shiny apps for tracking user session events such as input changes, browser type, and session duration. These events can be sent to any of the available storage backends and analyzed using the included Shiny app to gain insights about app usage and adoption.
Modern.js vs Remix · web-infra-dev/modern.js · Discussion #4872
Hi there, I have been experimenting with Modern js and so far the experience has been good. The main selling point for me really is the micro frontend tooling support over remix especially in the u...
Coze is a next-generation AI application and chatbot developing platform for everyone. Regardless of your programming experience, Coze enables you to effortlessly create various chatbots and deploy them across different social platforms and messaging apps.
Prompt Storm - A Powerful Easy to use Artificial Intelligence Prompt Engineering Chrome Software Extension for ChatGPT, Google's Gemini, and Anthropic's Claude.
Prompt Storm - A Powerful Easy to use AI Prompt Engineering Chrome Extension for ChatGPT, Google's Gemini, and Anthropic's Claude. With just a few clicks you can get the answers you're looking for, create amazing writing, marketing and social media strategies, save time and boost your productivity.
The HTML5 input types - Learn web development | MDN
That brings us to the end of our tour of the HTML5 form input types. There are a few other control types that cannot be easily grouped due to their very specific behaviors but are still essential to know. We cover those in the next article.
HTTP was first specified in the early 1990s. Designed with extensibility in mind, it has seen numerous additions over the years; this lead to its specification being scattered through numerous specification documents (in the midst of experimental abandoned extensions). This page lists relevant resources about HTTP.
URL redirection, also known as URL forwarding, is a technique to give more than one URL address to a page, a form, a whole website, or a web application. HTTP has a special kind of response, called a HTTP redirect, for this operation.
For API designers and writers wishing formalize their API in an OpenAPI Description document.
The OpenAPI Specification Explained
The OpenAPI Specification is the ultimate source of knowledge regarding this API description format. However, its length is daunting to newcomers and makes it hard for experienced users to find specific bits of information. This chapter provides a soft landing for readers not yet familiar with OpenAPI and is organized by topic, simplifying browsing.
The following pages introduce the syntax and structure of an OpenAPI Description (OAD), its main building blocks and a minimal API description. Afterwards, the different blocks are detailed, starting from the most common and progressing towards advanced ones.
Structure of an OpenAPI Description: JSON, YAML, openapi and info
API Endpoints: paths and responses.
Content of Message Bodies: content and schema.
Parameters and Payload of an Operation: parameters and requestBody.
Reusing Descriptions: components and $ref.
Providing Documentation and Examples: description and example/examples.
API Servers: servers.
For API designers and writers wishing formalize their API in an OpenAPI Description document.
Introduction to OpenAPI Overlay Specification
The Overlay Specification defines a document format for information that transforms an existing OpenAPI description yet remains separate from the OpenAPI description’s source document(s). The Overlay Specification defines a mechanism for providing consistent, deterministic updates to a given OpenAPI description, as an aid to automation throughout the API lifecycle.
An Overlay can be applied to an OpenAPI description, resulting in an updated OpenAPI description.
OpenAPI + Overlays = (better) OpenAPI
One Overlay might be specific to one OpenAPI description, or general enough to be used with multiple OpenAPI descriptions. Equally, one OpenAPI description pipeline might apply different Overlays during the workflow.
Use cases for Overlays
Overlays support a range of scenarios, including:
Translating documentation into another language
Providing configuration information for different deployment environments
Allowing separation of concerns for metadata such as gateway configuration or SLA information
Supporting a traits-like capability for applying a set of configuration data, such as multiple parameters or multiple headers, for targeted objects
Providing default responses or parameters where they were not explicitly provided
Applying configuration data globally or based on filter conditions
Resources for working with Overlays
The GitHub repository for Overlays is the main hub of activity on the Overlays project. Check the issues and pull requests for what is currently in progress, and the discussions for details of future ideas and our regular meetings.
The project maintains a list of tools for working with Overlays.
For API designers and writers wishing formalize their API in an OpenAPI Description document.
Example: Add multiple parameters to selected operations
One of the most requested features for OpenAPI is the ability to group parameters and easily apply all of them together, to either some or all operations in an OpenAPI description. Especially for common parameters that always come as a set (pagination or filter parameters are a great example), it can be more maintainable to use them as a “trait” and apply the set as part of the API lifecycle rather than trying to maintain a source of truth with a lot of repetition. This approach leads to good API governance, since if the collection of fields changes then the update is consistently applied through automation.
In the following example, any operations with the extension x-supports-filters set to true will have two inline parameters added to their parameter collection, and an x-filters-added tag for decoration/debugging.
For API designers and writers wishing formalize their API in an OpenAPI Description document.
Example: add a license
Every API needs a license so people know they can use it, but what if your OpenAPI descriptions don’t have a license? This example shows an Overlay that adds a license to an OpenAPI description.
Here’s the Overlay file, with just one action to add or change the info.license fields:
overlay: 1.0.0
info:
title: Add MIT license
version: 1.0.0
actions:
- target: '$.info'
update:
license:
name: MIT
url: https://opensource.org/licenses/MIT
You can use this Overlay with different OpenAPI files to make the same change to a batch of files.
Example: tag DELETE operations
To add the same tag to all operations in an OpenAPI description that use DELETE methods, use an Overlay like the example below. This example adds an x-restricted tag to all delete operations:
overlay: 1.0.0
info:
title: Tag delete operations as restricted
version: 1.0.0
actions:
- target: $.paths.*.delete
update:
tags:
- x-restricted
This overlay adds x-restricted to the tags array for each delete operation. If the tags array doesn’t exist, it’ll be created; if it does, the new tag is added to the existing array.
You can use an approach like this to make other changes to all matching operations.