What is MIME type "text/x-openedge"?
A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.
text/x-openedge is a MIME type that marks files containing OpenEdge ABL source code. It tells programs that the file is plain text with special coding rules used in the Progress OpenEdge environment.Files tagged with this MIME type are primarily used for developing business applications. They help software tools and editors apply the correct syntax rules and offer language-specific features.
- Main use: Designates and supports coding in OpenEdge ABL.
- Syntax highlighting: Enables editors and IDEs to color-code keywords, easing code reading and debugging.
- Tool integration: Helps build systems recognize and process these source files correctly.
For more details on OpenEdge ABL and its related tools, see the Progress OpenEdge page.
Associated file extensions
Usage Examples
HTTP Header
When serving content with this MIME type, set the Content-Type header:
Content-Type: text/x-openedge
HTML
In HTML, you can specify the MIME type in various elements:
<a href="file.dat" type="text/x-openedge">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-openedge');
res.end('Content here');
}).listen(3000);
Associated file extensions
FAQs
What is the text/x-openedge MIME type used for?
The text/x-openedge MIME type identifies source code files written in OpenEdge ABL (Advanced Business Language), formerly known as Progress 4GL. It is most commonly associated with the .p extension, indicating to the operating system or editor that the file contains plain text logic for business applications.
How do I open a file with the text/x-openedge content type?
Because these files are plain text, you can view them in generic editors like Notepad++, Sublime Text, or Visual Studio Code. For actual development and compilation, however, you should use the official Progress Developer Studio for OpenEdge.
Is it safe to serve .p files via a web server?
Generally, no. Files associated with text/x-openedge usually contain server-side business logic and source code. Exposing them publicly via Apache or IIS can lead to security vulnerabilities by revealing your application's internal workings to users.
How do I configure Apache to recognize text/x-openedge?
To map the extension to this MIME type, add the following line to your .htaccess file or main configuration: AddType text/x-openedge .p. This ensures that if the file is accessed, the client understands it is specific OpenEdge code rather than generic text.
Why does my browser download the file instead of running it?
Web browsers like Chrome or Firefox cannot execute OpenEdge ABL code. When a server sends the text/x-openedge header, the browser interprets it as a file to be saved or displayed as text, rather than an executable script like JavaScript.
What does the 'x-' prefix mean in text/x-openedge?
The x- prefix signifies that this is a non-standard or experimental MIME type not officially registered with the IANA. It is a convention used by the Progress OpenEdge community and tools to distinguish ABL source files from standard text/plain files.
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.