What is MIME type "text/x-whiley"?

A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.

text/x-whiley is a MIME type that marks files containing Whiley source code.
These files are plain text and hold the code for a language designed with formal verification in mind.
Developers use it to enable syntax highlighting, static analysis, and error checking in their editing tools.

The file format is linked to the WHILEY extension.

Learn more about MIME types on the MIME Type page.

Associated file extensions

Usage Examples

HTTP Header

When serving content with this MIME type, set the Content-Type header:


    Content-Type: text/x-whiley    
  

HTML

In HTML, you can specify the MIME type in various elements:


    <a href="file.dat" type="text/x-whiley">Download file</a>    
  

Server-side (Node.js)

Setting the Content-Type header in Node.js:


    const http = require('http');    
    
    http.createServer((req, res) => {    
      res.setHeader('Content-Type', 'text/x-whiley');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

What is the text/x-whiley MIME type used for?

The text/x-whiley MIME type identifies source code written in the Whiley programming language. It indicates that the file contains plain text commands, logic, and formal verification specifications used by the Whiley compiler.

How do I open a file sent as text/x-whiley?

Because these files are plain text, you can view them in any standard text editor like Notepad, TextEdit, or Vim. For development, it is best to use an IDE or code editor like VS Code with a Whiley plugin for syntax highlighting.

Why does this MIME type start with "x-"?

The x- prefix signifies that text/x-whiley is a non-standard or experimental subtype not officially registered with the IANA. It is a common convention for defining custom types associated with specific languages or applications.

How do I configure Apache to serve .whiley files correctly?

You can add the MIME type mapping to your .htaccess file or main configuration. Add the line AddType text/x-whiley .whiley to ensure the server sends the correct Content-Type header for whiley files.

Can web browsers execute text/x-whiley code?

No, web browsers cannot natively execute Whiley code. If a browser navigates to a resource served as text/x-whiley, it will typically display the raw source code as plain text rather than running it like JavaScript.

How do I add text/x-whiley support to Nginx?

Open your mime.types file (usually located in /etc/nginx/) and add the line text/x-whiley whiley;. After saving the file, reload the Nginx service to apply the new configuration.

Is text/x-whiley safe to open?

Yes, files marked as text/x-whiley are generally safe to view because they are just text files. However, you should treat them like any other source code and avoid compiling or running code from untrusted sources.

General FAQ

What is a MIME type?

A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.

MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.

MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.

How do I find the MIME type for a file?

You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.

Why are multiple MIME types listed for one extension?

Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.