# Web Stack

**URL:** https://discourse.julialang.org/c/domain/web/28.md

[Latest](https://discourse.julialang.org/latest.md) · [Categories](https://discourse.julialang.org/categories.md) · [Tags](https://discourse.julialang.org/tags.md)

---

## [About the Web Stack category](https://discourse.julialang.org/t/about-the-web-stack-category/2049)

<div class="topic-metadata">

**Author:** [@vchuravy](https://discourse.julialang.org/u/vchuravy)\
**Replies:** 0

</div>

Discuss web server and client programming here. Topics include HTTP, WebSockets, HTML, etc. Use the following paragraphs for a longer description, or to establish category guidelines or rules: Why should people use …

---

## [\[HTTP\] http tls handshake error with bit.ly redirects](https://discourse.julialang.org/t/http-http-tls-handshake-error-with-bit-ly-redirects/137595)

<div class="topic-metadata">

**Author:** [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Replies:** 3\
**Last updated:** [June 15, 2026, 5:28pm UTC](https://discourse.julialang.org/t/http-http-tls-handshake-error-with-bit-ly-redirects/137595 "2026-06-15T17:28:43Z")

</div>

As from the title. using HTTP dataURL = "https://bit.ly/apress\_julia\_boston" data = @pipe HTTP.get(dataURL).body results in: ERROR: http tls handshake error: tls handshake failed: tls: certificate is not valid for …

---

## [Oxygen.jl is faster than FastAPI, Flask and Rocket](https://discourse.julialang.org/t/oxygen-jl-is-faster-than-fastapi-flask-and-rocket/100389)

<div class="topic-metadata">

**Author:** [@Jose\_Diaz](https://discourse.julialang.org/u/Jose_Diaz)\
**Replies:** 9\
**Last updated:** [May 12, 2026, 12:18pm UTC](https://discourse.julialang.org/t/oxygen-jl-is-faster-than-fastapi-flask-and-rocket/100389 "2026-05-12T12:18:54Z")

</div>

Running some benchmarks ---- 1000 HTTP Requests ---- Flask Server --- 1.7611534595489502 seconds in total --- --- 0.0017611534595489502 seconds per iteration --- FastAPI Server --- 1.5010621547698975 seconds in total --…

---

## [HTTP/3 and QUIC protocols, status of for Julia web clients or servers](https://discourse.julialang.org/t/http-3-and-quic-protocols-status-of-for-julia-web-clients-or-servers/78473)

<div class="topic-metadata">

**Author:** [@Palli](https://discourse.julialang.org/u/Palli)\
**Replies:** 9\
**Last updated:** [February 4, 2026, 9:13pm UTC](https://discourse.julialang.org/t/http-3-and-quic-protocols-status-of-for-julia-web-clients-or-servers/78473 "2026-02-04T21:13:20Z")

</div>

HTTP/3 seems to be around the corner, already implemented in most web browsers (may be off by default), makes web browsing much faster. It’s based on QUIC protocal (which IS DONE), then UDP, not TCP of TCP/IP (so it’s go…

---

## [Franklin.jl with Academic template blog markdown rendering & title problem](https://discourse.julialang.org/t/franklin-jl-with-academic-template-blog-markdown-rendering-title-problem/135202)

<div class="topic-metadata">

**Author:** [@shrdlu](https://discourse.julialang.org/u/shrdlu)\
**Replies:** 0\
**Last updated:** [January 22, 2026, 11:48am UTC](https://discourse.julialang.org/t/franklin-jl-with-academic-template-blog-markdown-rendering-title-problem/135202 "2026-01-22T11:48:09Z")

</div>

I’m testing out a local static page generated by Franklin.jl using the academic template (Your Name) and am running into a number of issues. First one is title extraction for blog posts - SSG process can detect and link…

---

## [Sure in julia](https://discourse.julialang.org/t/sure-in-julia/134728)

<div class="topic-metadata">

**Author:** [@Stephen](https://discourse.julialang.org/u/Stephen)\
**Replies:** 2\
**Last updated:** [December 25, 2025, 3:18am UTC](https://discourse.julialang.org/t/sure-in-julia/134728 "2025-12-25T03:18:51Z")

</div>

Is there a posibility to transform this personal finance app into julia？ Oxygen, Genie?

---

## [HTTP returns an error in Julia 1.11.1](https://discourse.julialang.org/t/http-returns-an-error-in-julia-1-11-1/122312)

<div class="topic-metadata">

**Author:** [@wshobe](https://discourse.julialang.org/u/wshobe)\
**Replies:** 11\
**Last updated:** [October 1, 2025, 4:02am UTC](https://discourse.julialang.org/t/http-returns-an-error-in-julia-1-11-1/122312 "2025-10-01T04:02:07Z")

</div>

I have just updated to Julia 1.11.1 and HTTP is now returning an error, where it worked before the update. Any thoughts would be appreciated. The call is very simple: resp = HTTP.request("GET", "http://httpbin.org/ip")…

---

## [\[Oxygen.jl\] returning plots to user](https://discourse.julialang.org/t/oxygen-jl-returning-plots-to-user/126341)

<div class="topic-metadata">

**Author:** [@braamvandyk](https://discourse.julialang.org/u/braamvandyk)\
**Replies:** 4\
**Last updated:** [September 26, 2025, 4:08am UTC](https://discourse.julialang.org/t/oxygen-jl-returning-plots-to-user/126341 "2025-09-26T04:08:09Z")

</div>

Hi all My first attempt at putting together a browser-based interface and also any form of web programming, so I really don’t know what it is that I don’t know. Apologies for asking the obvious. I am using Oxygen.jl for…

---

## [Genie modularize @app logic](https://discourse.julialang.org/t/genie-modularize-app-logic/131373)

<div class="topic-metadata">

**Author:** [@vh94](https://discourse.julialang.org/u/vh94)\
**Replies:** 0\
**Last updated:** [August 5, 2025, 12:40pm UTC](https://discourse.julialang.org/t/genie-modularize-app-logic/131373 "2025-08-05T12:40:21Z")

</div>

Is there a way to programmatically initialize @in and @out vars in GenieFramework.jl ? I would like to call a type of constructor from a module sever logic using namespaces , :tree, :ghost, to not have to initialize ev…

---

## [Add Stipple,jl reactive elements to existed Genie.jl app with controllers](https://discourse.julialang.org/t/add-stipple-jl-reactive-elements-to-existed-genie-jl-app-with-controllers/130726)

<div class="topic-metadata">

**Author:** [@PharmCat](https://discourse.julialang.org/u/PharmCat)\
**Replies:** 6\
**Last updated:** [July 27, 2025, 12:42pm UTC](https://discourse.julialang.org/t/add-stipple-jl-reactive-elements-to-existed-genie-jl-app-with-controllers/130726 "2025-07-27T12:42:14Z")

</div>

So I made Genie.jl app as it described in movie example. With controllers, route.jl, ets… Is it possible to use Stipple.jl functionality in existed project? I have no app.jl in Genie.jl project… Where I should use al…

---

## [Problem with Genie.jl newapp\_mvc](https://discourse.julialang.org/t/problem-with-genie-jl-newapp-mvc/130701)

<div class="topic-metadata">

**Author:** [@PharmCat](https://discourse.julialang.org/u/PharmCat)\
**Replies:** 2\
**Last updated:** [July 27, 2025, 2:04pm UTC](https://discourse.julialang.org/t/problem-with-genie-jl-newapp-mvc/130701 "2025-07-27T14:04:30Z")

</div>

Try to make new App import Pkg path = "D:\\\\GenieTest" cd(path) Pkg.activate("") Pkg.add("Genie") using Genie Genie.Generator.newapp\_mvc("NewApp") And get: Activating new project at \`D:\\GenieTest\\NewApp\\test\` Acti…

---

## [IOError: stream is closed or unusable on POST](https://discourse.julialang.org/t/ioerror-stream-is-closed-or-unusable-on-post/129859)

<div class="topic-metadata">

**Author:** [@ohmsweetohm1](https://discourse.julialang.org/u/ohmsweetohm1)\
**Replies:** 0\
**Last updated:** [June 13, 2025, 12:06pm UTC](https://discourse.julialang.org/t/ioerror-stream-is-closed-or-unusable-on-post/129859 "2025-06-13T12:06:25Z")

</div>

I frequently get IOError: stream is closed or unusable when trying to POST to an API with a pretty large body: Content-Length: 406233. What can I do?

---

## [Genie Builder 1.0 Now in VS Code: Build Genie Web Apps around your Julia code 10x faster](https://discourse.julialang.org/t/genie-builder-1-0-now-in-vs-code-build-genie-web-apps-around-your-julia-code-10x-faster/114481)

<div class="topic-metadata">

**Author:** [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Replies:** 3\
**Last updated:** [May 29, 2025, 11:07am UTC](https://discourse.julialang.org/t/genie-builder-1-0-now-in-vs-code-build-genie-web-apps-around-your-julia-code-10x-faster/114481 "2025-05-29T11:07:49Z")

</div>

Hi everybody, Super happy to share that Genie Builder 1.0 is now available on the VS Code Marketplace! Genie Builder is our new and powerful tool that makes it easy and quick to build web applications around your Julia …

---

## [Websockets invalid value for Enum OpCode](https://discourse.julialang.org/t/websockets-invalid-value-for-enum-opcode/128335)

<div class="topic-metadata">

**Author:** [@freeman](https://discourse.julialang.org/u/freeman)\
**Replies:** 1\
**Last updated:** [April 23, 2025, 6:54pm UTC](https://discourse.julialang.org/t/websockets-invalid-value-for-enum-opcode/128335 "2025-04-23T18:54:16Z")

</div>

Just flagging that this happened out in the wild. │ e = ArgumentError: invalid value for Enum OpCode: 11 …

---

## [Comma in a query HTTP.jl](https://discourse.julialang.org/t/comma-in-a-query-http-jl/127852)

<div class="topic-metadata">

**Author:** [@gltchr](https://discourse.julialang.org/u/gltchr)\
**Replies:** 3\
**Last updated:** [April 8, 2025, 9:18pm UTC](https://discourse.julialang.org/t/comma-in-a-query-http-jl/127852 "2025-04-08T21:18:14Z")

</div>

Spoiler: This is my first time doing any sort of web-interfacing, so might be something obvious. Problem: Hard-typing the query into a request works, while using the query=\["variables"=\>"var1,var2"\] or query=\["variable…

---

## [Interactive Data Table in Pluto.jl (via a silly hack)](https://discourse.julialang.org/t/interactive-data-table-in-pluto-jl-via-a-silly-hack/44678)

<div class="topic-metadata">

**Author:** [@mthelm85](https://discourse.julialang.org/u/mthelm85)\
**Replies:** 41\
**Last updated:** [April 6, 2025, 7:27pm UTC](https://discourse.julialang.org/t/interactive-data-table-in-pluto-jl-via-a-silly-hack/44678 "2025-04-06T19:27:24Z")

</div>

@fonsp This is meant to be more fun than anything serious - I came up with a nice little hack for creating interactive data tables in my Pluto notebooks :slightly\_smiling\_face: After wrangling a .csv file into a Dict wi…

---

## [How to use Downloads.download() with SFTP?](https://discourse.julialang.org/t/how-to-use-downloads-download-with-sftp/76480)

<div class="topic-metadata">

**Author:** [@Fred](https://discourse.julialang.org/u/Fred)\
**Replies:** 17\
**Last updated:** [April 6, 2025, 1:47pm UTC](https://discourse.julialang.org/t/how-to-use-downloads-download-with-sftp/76480 "2025-04-06T13:47:31Z")

</div>

Hi, Is it possible to do SFTP with Julia ? I use filezilla to download files on a remote computer but I do not manage to access it with Julia. Is there something wrong in the URL format ? Thanks for your reply ! using…

---

## [\[GenieFramework\] Persist some actions after refreshing on web browser](https://discourse.julialang.org/t/genieframework-persist-some-actions-after-refreshing-on-web-browser/126852)

<div class="topic-metadata">

**Author:** [@leejm516](https://discourse.julialang.org/u/leejm516)\
**Replies:** 3\
**Last updated:** [March 17, 2025, 5:59am UTC](https://discourse.julialang.org/t/genieframework-persist-some-actions-after-refreshing-on-web-browser/126852 "2025-03-17T05:59:32Z")

</div>

Hi, all! I am making a web-based monitoring app using Genie and Stipple.jl. If an action or a function is triggered by @onchange, it does not persist after refreshing on web browser. Here’s an MWE. module App using G…

---

## [Basic Bonito app fails to be served](https://discourse.julialang.org/t/basic-bonito-app-fails-to-be-served/122483)

<div class="topic-metadata">

**Author:** [@cstjean](https://discourse.julialang.org/u/cstjean)\
**Replies:** 7\
**Last updated:** [March 11, 2025, 12:58am UTC](https://discourse.julialang.org/t/basic-bonito-app-fails-to-be-served/122483 "2025-03-11T00:58:46Z")

</div>

I’m trying to get a very simple Bonito (v4.0.0) app running, and I must be doing something horribly wrong because it’s not working well. Starting from Deployment · Bonito (simondanisch.github.io) using Bonito, Bonito.Ob…

---

## [\`setsockopt\` not defined](https://discourse.julialang.org/t/setsockopt-not-defined/126704)

<div class="topic-metadata">

**Author:** [@Stephen](https://discourse.julialang.org/u/Stephen)\
**Replies:** 1\
**Last updated:** [March 8, 2025, 7:30am UTC](https://discourse.julialang.org/t/setsockopt-not-defined/126704 "2025-03-08T07:30:17Z")

</div>

Hello, I want to build the julia version of Futu API referring to this python version, and asked the Grok, ChatGPT, etc and got the function below: sock = Sockets.TCPSocket() # Set receive buffer setsoc…

---

## [How to do integration testing with HTTP.jl?](https://discourse.julialang.org/t/how-to-do-integration-testing-with-http-jl/21573)

<div class="topic-metadata">

**Author:** [@non-Jedi](https://discourse.julialang.org/u/non-Jedi)\
**Replies:** 5\
**Last updated:** [March 3, 2025, 1:57pm UTC](https://discourse.julialang.org/t/how-to-do-integration-testing-with-http-jl/21573 "2025-03-03T13:57:33Z")

</div>

I’m building out a package that wraps an API using HTTP.jl. One thing I’m having trouble with is figuring out how to do integration testing. In the past, I’ve used python requests and just used mocking with responses to …

---

## [Privacy and storage with file uploads using Genie/Stipple](https://discourse.julialang.org/t/privacy-and-storage-with-file-uploads-using-genie-stipple/124743)

<div class="topic-metadata">

**Author:** [@TheHedgehog2000](https://discourse.julialang.org/u/TheHedgehog2000)\
**Replies:** 1\
**Last updated:** [January 15, 2025, 12:26am UTC](https://discourse.julialang.org/t/privacy-and-storage-with-file-uploads-using-genie-stipple/124743 "2025-01-15T00:26:43Z")

</div>

Apologies if this is a trivial question, I am new to web development. I am following this link to a minimal app which allows a user to upload .csv files and analyze them: App with CSV uploader - Genie. In this app, all u…

---

## [Best practices for managing websocket/http server lifecycle](https://discourse.julialang.org/t/best-practices-for-managing-websocket-http-server-lifecycle/124434)

<div class="topic-metadata">

**Author:** [@danvinci](https://discourse.julialang.org/u/danvinci)\
**Replies:** 12\
**Last updated:** [January 7, 2025, 2:12am UTC](https://discourse.julialang.org/t/best-practices-for-managing-websocket-http-server-lifecycle/124434 "2025-01-07T02:12:24Z")

</div>

Hello folks! I’m experimenting with HTTP.jl and I’m trying to put in a place a watchdog task that would regularly check on the server, and spin up a new one if it goes down. The issue I’m encountering is that I get thi…

---

## [How to select more than one object with Stipple.select()](https://discourse.julialang.org/t/how-to-select-more-than-one-object-with-stipple-select/124394)

<div class="topic-metadata">

**Author:** [@TheHedgehog2000](https://discourse.julialang.org/u/TheHedgehog2000)\
**Replies:** 1\
**Last updated:** [January 3, 2025, 12:34pm UTC](https://discourse.julialang.org/t/how-to-select-more-than-one-object-with-stipple-select/124394 "2025-01-03T12:34:10Z")

</div>

It’s straightforward using Stipple to select an object x from options y like Stipple.select(:x; options=:y) . Is there a way for x to be an array of options? More concretely, if y is an array of files that I’ve uploaded …

---

## [Bonito: serving an HTML page](https://discourse.julialang.org/t/bonito-serving-an-html-page/123872)

<div class="topic-metadata">

**Author:** [@cstjean](https://discourse.julialang.org/u/cstjean)\
**Replies:** 4\
**Last updated:** [December 17, 2024, 10:05am UTC](https://discourse.julialang.org/t/bonito-serving-an-html-page/123872 "2024-12-17T10:05:14Z")

</div>

In Bonito.jl, how should I serve an HTML file? I would have expected server = Server("0.0.0.0", 8080) route!(server, "/" =\> title\_page) route!(server, "/documentation" =\> HTMLPage("/local/path/to/my/page.htm…

---

## [Wrapping libwebsockets C Library with Julia](https://discourse.julialang.org/t/wrapping-libwebsockets-c-library-with-julia/102959)

<div class="topic-metadata">

**Author:** [@DeevsDeevs](https://discourse.julialang.org/u/DeevsDeevs)\
**Replies:** 11\
**Last updated:** [December 9, 2024, 6:49pm UTC](https://discourse.julialang.org/t/wrapping-libwebsockets-c-library-with-julia/102959 "2024-12-09T18:49:07Z")

</div>

I’m wrapping libwebsockets in Julia for better integration and performance. Unfortunately, I didn’t find it in JuliaBinaryWrappers. After that i want to introduce simpler analogue for HTTP.jl based on this c lib (previou…

---

## [Publishing my HTTP2.jl work](https://discourse.julialang.org/t/publishing-my-http2-jl-work/82847)

<div class="topic-metadata">

**Author:** [@ExpandingMan](https://discourse.julialang.org/u/ExpandingMan)\
**Replies:** 4\
**Last updated:** [December 1, 2024, 10:41pm UTC](https://discourse.julialang.org/t/publishing-my-http2-jl-work/82847 "2024-12-01T22:41:24Z")

</div>

Last year I did a significant amount of work on HTTP2.jl which I intended as a replacement to HTTP.jl with full support for both the HTTP 2.0 and HTTP 1.1 protocols. I believe that the “core logic” of this package is la…

---

## [How to Return a File as a Downloadable Attachment in Oxygen.jl Endpoint](https://discourse.julialang.org/t/how-to-return-a-file-as-a-downloadable-attachment-in-oxygen-jl-endpoint/122131)

<div class="topic-metadata">

**Author:** [@ehsani63](https://discourse.julialang.org/u/ehsani63)\
**Replies:** 5\
**Last updated:** [November 5, 2024, 9:06pm UTC](https://discourse.julialang.org/t/how-to-return-a-file-as-a-downloadable-attachment-in-oxygen-jl-endpoint/122131 "2024-11-05T21:06:03Z")

</div>

I’m using Oxygen.jl to implement an endpoint that retrieves data, processes it, and creates a DataFrame. I’d like the /dataframe POST method to return a downloadable file named test.csv containing the DataFrame. I tried …

---

## [Multipage Stipple webapp](https://discourse.julialang.org/t/multipage-stipple-webapp/67852)

<div class="topic-metadata">

**Author:** [@julien\_goo](https://discourse.julialang.org/u/julien_goo)\
**Replies:** 9\
**Last updated:** [September 24, 2024, 3:58pm UTC](https://discourse.julialang.org/t/multipage-stipple-webapp/67852 "2024-09-24T15:58:32Z")

</div>

Hi all, Is it possible to have multipage apps based on Stipple? Not necessarily with different url, but with a clickable menu just like a Shinydashboard does with the R Shiny framework. I bet there is a strong interest…

---

## [Refer to a Task without saving the Task object](https://discourse.julialang.org/t/refer-to-a-task-without-saving-the-task-object/119031)

<div class="topic-metadata">

**Author:** [@BeastyBlacksmith](https://discourse.julialang.org/u/BeastyBlacksmith)\
**Replies:** 2\
**Last updated:** [September 5, 2024, 5:29pm UTC](https://discourse.julialang.org/t/refer-to-a-task-without-saving-the-task-object/119031 "2024-09-05T17:29:54Z")

</div>

As an MWE I have a simple Dash.jl app that incremets a progress bar once you hit start and stops it when hitting a stop button. What I’d like it to do is to start running a task when hitting start and then make some pro…

[Next page](https://discourse.julialang.org/c/domain/web/28.md?page=1)
