build and spin the app

This commit is contained in:
HaQadosch 2023-11-19 19:05:08 +00:00
parent d321b7e2de
commit def715a044
2 changed files with 91 additions and 1 deletions

View File

@ -144,4 +144,94 @@ The manifest file is =spin.toml=
command = "cargo build --target wasm32-wasi --release"
watch = ["src/**/*.rs", "Cargo.toml"]
#+end_src
* Modifying the code
We change the =qstar/lib.rs= file to display the =hello world= message.
#+description: line change for message
#+name: lib.rs diff
#+begin_src shell
git diff
#+end_src
#+RESULTS: lib.rs diff
: diff --git a/qstart/src/lib.rs b/qstart/src/lib.rs
: index f3051ef..a51e027 100644
: --- a/qstart/src/lib.rs
: +++ b/qstart/src/lib.rs
: @@ -8,5 +8,5 @@ fn handle_qstart(req: Request) -> anyhow::Result<impl IntoResponse> {
: Ok(http::Response::builder()
: .status(200)
: .header("content-type", "text/plain")
: - .body("Hello, Fermyon")?)
: + .body("Hello, World!")?)
: }
* Building the app
In the ~qstart/~ folder
#+begin_src shell
cd qstart/
spin build
#+end_src
#+RESULTS:
: Building component qstart with `cargo build --target wasm32-wasi --release`
: Finished release [optimized] target(s) in 0.17s
: Finished building all Spin components
* Running the app
We could have done ~spin build --up~ to autostart the app once the build has
been done.
#+description: running the app once build is finished
#+name: spin up the app
#+begin_src shell
cd qstart/
spin up
#+end_src
#+RESULTS: spin up the app
: Logging component stdio to ".spin/logs/"
:
: Serving http://127.0.0.1:3000
: Available Routes:
: qstart: http://127.0.0.1:3000 (wildcard)
: 2023-11-19T18:38:54.648503Z ERROR spin_trigger::cli: Trigger executor failed
: Error: Unable to listen on 127.0.0.1:3000
:
: Caused by:
: Address already in use (os error 98)
In this case we have another app running in the same port. Let's see which one.
#+name: lsof
#+begin_src shell
lsof -i tcp:3000
#+end_src
#+RESULTS: lsof
: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
: forgejo 1531870 haqadosch 7u IPv6 8599019 0t0 TCP *:3000 (LISTEN)
So we kill that one and restart the ~spin up~.
#+name: spin up again
#+begin_src shell
kill -9 1531870
cd qstart/
spin up
#+end_src
#+RESULTS: spin up again
: Logging component stdio to ".spin/logs/"
:
: Serving http://127.0.0.1:3000
: Available Routes:
: qstart: http://127.0.0.1:3000 (wildcard)
* Try the app
We can display the page in your favourite browser or confirm with ~curl~
#+name: curl
#+begin_src shell
curl -i localhost:3000
#+end_src
#+RESULTS: curl
: HTTP/1.1 200 OK
: content-type: text/plain
: transfer-encoding: chunked
: date: Sun, 19 Nov 2023 19:01:02 GMT
:
: Hello, World!

View File

@ -8,5 +8,5 @@ fn handle_qstart(req: Request) -> anyhow::Result<impl IntoResponse> {
Ok(http::Response::builder()
.status(200)
.header("content-type", "text/plain")
.body("Hello, Fermyon")?)
.body("Hello, World!")?)
}