Remove HTTP cache.
This commit is contained in:
		
							parent
							
								
									c8f236b6c0
								
							
						
					
					
						commit
						b99aa07d88
					
				
							
								
								
									
										22
									
								
								src/main.rs
								
								
								
								
							
							
						
						
									
										22
									
								
								src/main.rs
								
								
								
								
							| 
						 | 
					@ -4,9 +4,7 @@ use std::error::Error;
 | 
				
			||||||
#[macro_use]
 | 
					#[macro_use]
 | 
				
			||||||
extern crate rocket;
 | 
					extern crate rocket;
 | 
				
			||||||
use cached::proc_macro::cached;
 | 
					use cached::proc_macro::cached;
 | 
				
			||||||
use http_cache_reqwest::{CACacheManager, Cache, CacheMode, HttpCache};
 | 
					use reqwest::{Client, StatusCode};
 | 
				
			||||||
use reqwest::StatusCode;
 | 
					 | 
				
			||||||
use reqwest_middleware::{ClientBuilder, ClientWithMiddleware};
 | 
					 | 
				
			||||||
use rocket::response::content::RawHtml;
 | 
					use rocket::response::content::RawHtml;
 | 
				
			||||||
use rocket::serde::json::Json;
 | 
					use rocket::serde::json::Json;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -43,19 +41,11 @@ fn user_agent() -> String {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static ARGS: once_cell::sync::Lazy<Args> = once_cell::sync::Lazy::new(|| Args::parse());
 | 
					static ARGS: once_cell::sync::Lazy<Args> = once_cell::sync::Lazy::new(|| Args::parse());
 | 
				
			||||||
static CLIENT: once_cell::sync::Lazy<ClientWithMiddleware> = once_cell::sync::Lazy::new(|| {
 | 
					static CLIENT: once_cell::sync::Lazy<Client> = once_cell::sync::Lazy::new(|| {
 | 
				
			||||||
    ClientBuilder::new(
 | 
					    reqwest::Client::builder()
 | 
				
			||||||
        reqwest::Client::builder()
 | 
					        .user_agent(user_agent())
 | 
				
			||||||
            .user_agent(user_agent())
 | 
					        .build()
 | 
				
			||||||
            .build()
 | 
					        .unwrap()
 | 
				
			||||||
            .unwrap(),
 | 
					 | 
				
			||||||
    )
 | 
					 | 
				
			||||||
    .with(Cache(HttpCache {
 | 
					 | 
				
			||||||
        mode: CacheMode::Default,
 | 
					 | 
				
			||||||
        manager: CACacheManager::default(),
 | 
					 | 
				
			||||||
        options: None,
 | 
					 | 
				
			||||||
    }))
 | 
					 | 
				
			||||||
    .build()
 | 
					 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[get("/")]
 | 
					#[get("/")]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,23 +1,8 @@
 | 
				
			||||||
use crate::cohost_account::CohostAccount;
 | 
					use crate::cohost_account::CohostAccount;
 | 
				
			||||||
use crate::cohost_posts::*;
 | 
					use crate::cohost_posts::*;
 | 
				
			||||||
use crate::ARGS;
 | 
					use crate::ARGS;
 | 
				
			||||||
use atom_syndication::LinkBuilder;
 | 
					 | 
				
			||||||
use rss::extension::atom::{AtomExtensionBuilder, Link};
 | 
					 | 
				
			||||||
use rss::Channel;
 | 
					use rss::Channel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fn rel_link_for(rel: &str, project_name: &str, page_number: u64) -> Link {
 | 
					 | 
				
			||||||
    LinkBuilder::default()
 | 
					 | 
				
			||||||
        .rel(rel)
 | 
					 | 
				
			||||||
        .href(format!(
 | 
					 | 
				
			||||||
            "https://{}{}{}/feed.rss?page={}",
 | 
					 | 
				
			||||||
            &ARGS.domain,
 | 
					 | 
				
			||||||
            &ARGS.base_url,
 | 
					 | 
				
			||||||
            project_name.clone(),
 | 
					 | 
				
			||||||
            page_number
 | 
					 | 
				
			||||||
        ))
 | 
					 | 
				
			||||||
        .build()
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
pub fn channel_for_posts_page(
 | 
					pub fn channel_for_posts_page(
 | 
				
			||||||
    project_name: impl AsRef<str>,
 | 
					    project_name: impl AsRef<str>,
 | 
				
			||||||
    project: CohostAccount,
 | 
					    project: CohostAccount,
 | 
				
			||||||
| 
						 | 
					@ -40,15 +25,6 @@ pub fn channel_for_posts_page(
 | 
				
			||||||
        )))
 | 
					        )))
 | 
				
			||||||
        .link(format!("https://cohost.org/{}", project_name,));
 | 
					        .link(format!("https://cohost.org/{}", project_name,));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let mut atom = AtomExtensionBuilder::default();
 | 
					 | 
				
			||||||
    let links = vec![
 | 
					 | 
				
			||||||
        rel_link_for("self", project_name, 0),
 | 
					 | 
				
			||||||
        rel_link_for("first", project_name, 0),
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
    atom.links(links);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    builder.atom_ext(Some(atom.build()));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    page.items.sort_by_key(|item| item.published_at);
 | 
					    page.items.sort_by_key(|item| item.published_at);
 | 
				
			||||||
    let mut items = Vec::with_capacity(page.number_items);
 | 
					    let mut items = Vec::with_capacity(page.number_items);
 | 
				
			||||||
    for item in page.items {
 | 
					    for item in page.items {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -77,7 +77,6 @@
 | 
				
			||||||
          <li>Project/account data for <b>60 seconds</b></li>
 | 
					          <li>Project/account data for <b>60 seconds</b></li>
 | 
				
			||||||
          <li>Individual posts for <b>60 seconds</b></li>
 | 
					          <li>Individual posts for <b>60 seconds</b></li>
 | 
				
			||||||
          <li>Whole RSS feeds for <b>120 seconds</b></li>
 | 
					          <li>Whole RSS feeds for <b>120 seconds</b></li>
 | 
				
			||||||
          <li>Internal HTTP responses <b>according to Cohost's settings</b></li>
 | 
					 | 
				
			||||||
        </ul>
 | 
					        </ul>
 | 
				
			||||||
        This means that if you update a post and then immediately request its source, you might get the old source. Just wait a few seconds.
 | 
					        This means that if you update a post and then immediately request its source, you might get the old source. Just wait a few seconds.
 | 
				
			||||||
    </p>
 | 
					    </p>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue