Skip to content

Instantly share code, notes, and snippets.

View michielmulders's full-sized avatar

Michiel Mulders michielmulders

View GitHub Profile
@michielmulders
michielmulders / dogs.yml
Created September 23, 2020 15:15
dog breeds data
- name: Corgi
- name: Malamute
@michielmulders
michielmulders / cobalt-directory.rs
Created September 23, 2020 14:59
Cobalt Directory Structure
.
|- _cobalt.yml
|- _layouts
| |- default.liquid
|- _includes
| |- header.liquid
|- _data
| |- movies.json
|- _sass
| |- base.scss
@michielmulders
michielmulders / ureq.rs
Created September 11, 2020 10:01
Sync POST request example Ureq
let resp = ureq::post("https://myapi.example.com/ingest")
.set("X-My-Header", "Secret")
.send_json(serde_json::json!({
"name": "martin",
"rust": true
}));
@michielmulders
michielmulders / curl-rust.rs
Created September 11, 2020 09:54
Curl-rust POST request example
use std::io::Read;
use curl::easy::Easy;
fn main() {
let mut data = "this is the body".as_bytes();
let mut easy = Easy::new();
easy.url("http://www.example.com/upload").unwrap();
easy.post(true).unwrap();
easy.post_field_size(data.len() as u64).unwrap();
@michielmulders
michielmulders / surf.rs
Created September 11, 2020 09:51
Middleware example by Surf's documentation
use futures::future::BoxFuture;
use surf::middleware::{Next, Middleware, Request, Response, HttpClient};
use std::time;
/// Log each request's duration
#[derive(Debug)]
pub struct Logger;
impl<C: HttpClient> Middleware<C> for Logger {
fn handle<'a>(
@michielmulders
michielmulders / isahc.rs
Created September 11, 2020 09:36
Example GET request using Isahc
use isahc::prelude::*;
fn main() -> Result<(), isahc::Error> {
// Send a GET request and wait for the response headers.
// Must be `mut` so we can read the response body.
let mut response = isahc::get("http://example.org")?;
// Print some basic info about the response to standard output.
println!("Status: {}", response.status());
println!("Headers: {:#?}", response.headers());
@michielmulders
michielmulders / hyper.rs
Created September 11, 2020 09:25
GET request example from Hyper documentation
let client = Client::new();
// Parse an `http::Uri`...
let uri = "http://httpbin.org/ip".parse()?;
// Await the response...
let resp = client.get(uri).await?;
println!("Response: {}", resp.status());
@michielmulders
michielmulders / reqwest.rs
Created September 11, 2020 09:21
Reqwest GET and POST example from docs
// 1. GET
let body = reqwest::get("https://www.rust-lang.org")
.await?
.text()
.await?;
println!("body = {:?}", body);
// 2. POST
let client = reqwest::Client::new();
@michielmulders
michielmulders / threads.rs
Created September 10, 2020 12:52
Rust Spawn Thread Example
use std::thread;
use std::time::Duration;
fn main() {
// 1. create a new thread
thread::spawn(|| {
for i in 1..10 {
println!("thread: number {}!", i);
thread::sleep(Duration::from_millis(100));
}
@michielmulders
michielmulders / goroutine.go
Created September 10, 2020 12:43
Goroutine example (Go By Example)
package main
import (
"fmt"
"time"
)
func f(from string) {
for i := 0; i < 3; i++ {
fmt.Println(from, ":", i)