We’re thrilled to announce the first-ever release of the http-client package, a powerful Fortran library designed to streamline the process of making HTTP requests. Whether you’re interacting with APIs, retrieving data, or working with web services, http-client offers a high-level and user-friendly interface to simplify your tasks.
The http-client library empowers Fortran developers to interact seamlessly with web services through its high-level abstraction. Here’s a glimpse of what you can expect:
Features:
HTTP Request Methods: http-client supports a wide range of HTTP methods, including:
GET: Retrieve data from the server.
POST: Create new data on the server.
PUT: Replace existing resources on the server.
DELETE: Remove a resource from the server.
PATCH: Partially update a resource on the server.
HEAD: Obtain response headers without the response content.
Supported Data Types: Easily work with various data types such as:
URL encoded fields
HTTP form data
File uploads
Response Handling: Effortlessly manage responses with features like:
Retrieving response bodies (content)
Accessing HTTP status codes returned by the server
Extracting response headers
Custom Request Headers: Customize request headers to tailor your interactions.
Error Handling: Enjoy informative error messages that aid in debugging.
Request Timeouts: Set timeouts to manage how long the client waits for a response.
Basic HTTP Authentication: Seamlessly authenticate your requests.
Tutorials:
To help you get started, we’ve prepared detailed tutorials on how to integrate and leverage the power of http-client in your projects:
And a big thank you to the entire community for your valuable feedback and support. Your contributions make projects like these truly shine.
Get Involved:
Interested in joining us on this exciting journey? Head over to the http-client repository and start exploring. We welcome your feedback, suggestions, and contributions!
Let’s make HTTP requests in Fortran an even better experience together.
Congrats for the hard work to all those involved in the project,
and to the whole fortran-lang community for getting one step closer towards a thriving Fortran community!!
IIRC, it looks like this is a Fortran wrapper for libcurl, which is an excellent development. Pretty soon, there can be a tutorial: Data Science at the Command Line – Fortran Edition.
The members of this forum know that the Fortran 2023 standard will not include an HTTP client, but to outsiders the distinction between fortran-lang projects and the Fortran standard is apparently unclear, and @fortranlang should not be retweeting a false statement but correcting it. The original @fortranlangtweet about http-client was fine.
You are, of course, correct that it’s a strictly false statement. However, to outsiders who may not distinguish between the standard and a library, in my view this is less important. More important is to boost strong positive signals about Fortran, even with the cost of being confusing or incorrect.
However, the correct or positive picture coming from this statement is that "Fortran users should be able to use Fortran HTTP library for client based applications which was not possible earlier (hoping I am correct) whether it will be part of standard or not in the near future "
I corrected this in the Nixcraft group on Facebook; lots of people in the Linux/Unix community seem interested in what modern Fortran can do and are surprised that it has support for code dating back to Fortran '77.
Congratulations Rajkumar on this excellent undertaking!
The fact you also wrote a tutorial and GitHub analyzer demo really shows your commitment to your GSoC project.
I’d be interested to learn more about your experience working with the Fortran as a language. Did you have previous experience with Fortran? Was it easy to get a hang of?