105 lines
3.3 KiB
Rust
105 lines
3.3 KiB
Rust
// use std::io::{BufReader, Write, Result, stdin, BufRead};
|
|
// use std::net::{ToSocketAddrs};
|
|
// use reqwest::Client;
|
|
// use tokio::io::{AsyncReadExt, AsyncWriteExt};
|
|
// use tokio::net::TcpStream;
|
|
// use crate::lavina_clients;
|
|
|
|
#[cfg(feature = "ssr")]
|
|
struct TestScope<'a> {
|
|
reader: tokio::io::BufReader<tokio::net::tcp::ReadHalf<'a>>,
|
|
writer: tokio::net::tcp::WriteHalf<'a>,
|
|
buffer: Vec<u8>,
|
|
}
|
|
#[cfg(feature = "ssr")]
|
|
impl<'a> TestScope<'a> {
|
|
// fn new(stream: &mut TcpStream) -> TestScope<'_> {
|
|
// let (reader, writer) = stream.split();
|
|
// let reader = tokio::io::BufReader::new(reader);
|
|
// let buffer = vec![];
|
|
// TestScope {
|
|
// reader,
|
|
// writer,
|
|
// buffer,
|
|
// }
|
|
// }
|
|
//
|
|
// async fn send_request() -> Result<()> {
|
|
// let resp = match reqwest::blocking::get("https://httpbin.org/ip") {
|
|
// Ok(resp) => resp.text().unwrap(),
|
|
// Err(err) => panic!("Error: {}", err)
|
|
// };
|
|
// println!("{}", resp);
|
|
// Ok(())
|
|
// }
|
|
//
|
|
// async fn send(&mut self, str: &(impl AsRef<str> + ?Sized)) -> Result<()> {
|
|
// self.writer.write_all(str.as_ref().as_bytes()).await?;
|
|
// self.writer.write_all(b"\r\n").await?;
|
|
// self.writer.flush().await?;
|
|
// Ok(())
|
|
// }
|
|
|
|
}
|
|
#[cfg(feature = "ssr")]
|
|
pub struct LavinaClient {
|
|
}
|
|
#[cfg(feature = "ssr")]
|
|
impl LavinaClient {
|
|
// async fn connect(addr: &str, nickname: &str, password: &str, channel: &str) -> Result<()> {
|
|
// let mut stream = TcpStream::connect(addr).await?;
|
|
// let mut client: TestScope = TestScope::new(& mut stream);
|
|
//
|
|
// client.send("PASS pwd").await?;
|
|
// client.send("NICK hello").await?;
|
|
// client.send("USER UserName 0 * :Real Name").await?;
|
|
// // client.send("JOIN #kek").await?;
|
|
//
|
|
// Ok(())
|
|
// }
|
|
// // PASS pwd
|
|
// // NICK hello
|
|
// // USER UserName 0 * :Real Name
|
|
// pub async fn connect_dummy() -> Result<()> {
|
|
// let server = "127.0.0.1:6667";
|
|
// let password = "parolchik1";
|
|
// let nickname = "kek";
|
|
// let channel = "kek";
|
|
//
|
|
// let client = LavinaClient::connect(server, nickname, password, channel).await?;
|
|
//
|
|
// Ok(())
|
|
// // let stdin = stdin();
|
|
// // let mut reader = BufReader::new(stdin);
|
|
// //
|
|
// // let mut input = String::new();
|
|
// //
|
|
// // loop {
|
|
// // input.clear();
|
|
// // reader.read_line(&mut input)?;
|
|
// // client.send("PRIVMSG", &format!("#kek :{}", input.trim()))?;
|
|
// // }
|
|
// }
|
|
|
|
pub async fn new_player(name: &str, password: &str) -> () {
|
|
let client = reqwest::Client::new();
|
|
|
|
|
|
let mut create_query = std::collections::HashMap::new();
|
|
create_query.insert("name", name);
|
|
|
|
let crete_user = client.post("http://127.0.0.1:8080/mgmt/create_player")
|
|
.json(&create_query).send().await;
|
|
|
|
let mut create_query = std::collections::HashMap::new();
|
|
create_query.insert("player_name", name);
|
|
create_query.insert("password", password);
|
|
|
|
let set_password = client.post("http://127.0.0.1:8080/mgmt/set_password")
|
|
.json(&create_query).send().await;
|
|
}
|
|
|
|
|
|
}
|
|
|