mirror of
https://github.com/nkanaev/yarr.git
synced 2025-05-24 21:19:19 +00:00
store http state
This commit is contained in:
parent
0949ffc027
commit
2eee8baa26
34
storage/http.go
Normal file
34
storage/http.go
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
package storage
|
||||||
|
|
||||||
|
type HTTPState struct {
|
||||||
|
LastModified string
|
||||||
|
Etag string
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) GetHTTPState(url string) *HTTPState {
|
||||||
|
row := s.db.QueryRow(`
|
||||||
|
select last_modified, etag
|
||||||
|
from http_state where url = ?
|
||||||
|
`, url)
|
||||||
|
|
||||||
|
if row == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var state HTTPState
|
||||||
|
row.Scan(&state.LastModified, &state.Etag)
|
||||||
|
return &state
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) SetHTTPState(url string, state HTTPState) {
|
||||||
|
_, err := s.db.Exec(`
|
||||||
|
insert into http_state (url, last_modified, etag)
|
||||||
|
values (?, ?, ?)
|
||||||
|
on conflict (url) do update set last_modified = ?, etag = ?`,
|
||||||
|
url, state.LastModified, state.Etag,
|
||||||
|
state.LastModified, state.Etag,
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
s.log.Print(err)
|
||||||
|
}
|
||||||
|
}
|
@ -61,6 +61,12 @@ create virtual table if not exists search using fts4(title, description, content
|
|||||||
create trigger if not exists del_item_search after delete on items begin
|
create trigger if not exists del_item_search after delete on items begin
|
||||||
delete from search where rowid = old.search_rowid;
|
delete from search where rowid = old.search_rowid;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
create table if not exists http_state (
|
||||||
|
url string not null primary key,
|
||||||
|
last_modified string not null,
|
||||||
|
etag string not null
|
||||||
|
);
|
||||||
`
|
`
|
||||||
|
|
||||||
type Storage struct {
|
type Storage struct {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user