Signed-off-by: Jochen Maes <jochen@sejo-it.be>
This commit is contained in:
commit
35d5369c76
20
.drone.yml
Normal file
20
.drone.yml
Normal file
@ -0,0 +1,20 @@
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: "Wimi builder"
|
||||
platform:
|
||||
arch: arm64
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: rust:1.73
|
||||
commands:
|
||||
- cargo build --target aarch64-unknown-linux-gnu
|
||||
- name: publish image
|
||||
image: plugins/docker
|
||||
settings:
|
||||
username: builder
|
||||
password:
|
||||
from_secret: builder_password
|
||||
repo: https://gitea.sejo-it.be/v2/SeJo-IT/wimi
|
||||
tags:
|
||||
- latest
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/target
|
7
Cargo.lock
generated
Normal file
7
Cargo.lock
generated
Normal file
@ -0,0 +1,7 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "wimi"
|
||||
version = "0.1.0"
|
8
Cargo.toml
Normal file
8
Cargo.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "wimi"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
3
Dockerfile
Normal file
3
Dockerfile
Normal file
@ -0,0 +1,3 @@
|
||||
FROM scratch
|
||||
COPY target/aarch64-unknown-linux-gnu/release/wimi /wimi
|
||||
CMD ["/wimi"]
|
22
src/main.rs
Normal file
22
src/main.rs
Normal file
@ -0,0 +1,22 @@
|
||||
use std::{net::{TcpListener, TcpStream}, io::{Write}};
|
||||
|
||||
|
||||
fn main() {
|
||||
let listener = TcpListener::bind("[::]:4242").unwrap();
|
||||
|
||||
for stream in listener.incoming() {
|
||||
let stream = stream.unwrap();
|
||||
|
||||
throw_ip_back(stream);
|
||||
}
|
||||
}
|
||||
|
||||
fn throw_ip_back(mut stream: TcpStream) {
|
||||
let status_line = "HTTP/1.1 200 OK";
|
||||
let raw_addr = stream.peer_addr().unwrap().ip().to_string();
|
||||
println!("{}", raw_addr);
|
||||
let content = format!("HTTP/1.1 200 OK {}",raw_addr.replace("::ffff:", ""));
|
||||
let length = content.len();
|
||||
let response = format!("{status_line}\r\nContent-Length: {length}\r\n\r\n{content}");
|
||||
stream.write_all(response.as_bytes()).unwrap();
|
||||
}
|
Loading…
Reference in New Issue
Block a user