Add version constant and default User-Agent header for requests
This commit is contained in:
parent
b9b9619425
commit
8be6114318
@ -1,15 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Roster Application Icon
|
||||
|
||||
Copyright 2025 Pavel Baksy
|
||||
|
||||
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
|
||||
International License. To view a copy of this license, visit
|
||||
http://creativecommons.org/licenses/by-sa/3.0/
|
||||
|
||||
SPDX-License-Identifier: CC-BY-SA-3.0
|
||||
-->
|
||||
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<linearGradient id="a" gradientUnits="userSpaceOnUse" spreadMethod="reflect" x1="63.93500143502" x2="116.66087219391" y1="114.25781884399" y2="113.87787042471">
|
||||
<stop offset="0" stop-color="#567cb9"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 10 KiB |
@ -1,15 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Roster Application Symbolic Icon
|
||||
|
||||
Copyright 2025 Pavel Baksy
|
||||
|
||||
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
|
||||
International License. To view a copy of this license, visit
|
||||
http://creativecommons.org/licenses/by-sa/3.0/
|
||||
|
||||
SPDX-License-Identifier: CC-BY-SA-3.0
|
||||
-->
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 1.53125 0.0429688 l -0.277344 0.1328122 c -0.402344 0.195313 -0.847656 0.632813 -1.035156 1.011719 l -0.1523438 0.3125 l -0.0117187 5.195312 c -0.0078125 2.859376 0.0039063 5.3125 0.0234375 5.449219 c 0.046875 0.332031 0.097656 0.351563 0.914063 0.410157 c 0.433593 0.035156 0.695312 0.078124 0.800781 0.132812 c 0.523437 0.265625 0.921875 0.71875 1.082031 1.238281 c 0.074219 0.234375 0.09375 0.4375 0.09375 0.90625 c 0 0.636719 0.011719 0.679688 0.234375 0.71875 c 0.242187 0.042969 10.832031 0.035157 11.109375 -0.011719 c 0.613281 -0.101562 1.199219 -0.554687 1.496094 -1.164062 l 0.15625 -0.320312 c 0.015625 -0.101563 0 -6.253907 0 -6.253907 v -6.25 l -0.144532 -0.304687 c -0.214843 -0.453125 -0.566406 -0.816406 -1 -1.027344 l -0.359374 -0.1757812 z m 5.242188 2.9140622 c 0.09375 -0.003906 0.207031 0.042969 0.34375 0.136719 c 0.3125 0.203125 3.441406 2.90625 4.265624 3.679688 c 0.335938 0.320312 0.609376 0.65625 0.609376 0.753906 c 0 0.105468 -0.867188 0.933594 -2.164063 2.066406 c -3.035156 2.652344 -2.949219 2.59375 -3.253906 2.25 c -0.136719 -0.144531 -0.164063 -0.40625 -0.164063 -1.515625 v -1.339844 h -0.929687 c -0.816407 0 -0.9375 -0.023437 -1.027344 -0.1875 c -0.054687 -0.105469 -0.101563 -0.742187 -0.101563 -1.414062 c 0 -1.445313 0.054688 -1.558594 0.773438 -1.53125 c 0.25 0.007812 0.636719 0.011719 0.867188 0.007812 l 0.417968 -0.011719 v -1.230468 c 0 -1.167969 0.085938 -1.648438 0.363282 -1.664063 z m 0 0"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.6 KiB |
@ -18,6 +18,10 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# Application Version
|
||||
# Set at runtime by main.py from the version passed by the launcher script
|
||||
VERSION = "0.0.0" # Fallback for development/testing
|
||||
|
||||
# UI Layout Constants
|
||||
UI_PANE_REQUEST_RESPONSE_POSITION = 510 # Initial position for request/response split
|
||||
UI_PANE_RESPONSE_DETAILS_POSITION = 400 # Initial position for response body/headers split
|
||||
|
||||
@ -26,6 +26,7 @@ gi.require_version('Adw', '1')
|
||||
from gi.repository import Gtk, Gio, Adw
|
||||
from .window import RosterWindow
|
||||
from .preferences_dialog import PreferencesDialog
|
||||
from . import constants
|
||||
|
||||
|
||||
class RosterApplication(Adw.Application):
|
||||
@ -111,5 +112,7 @@ class RosterApplication(Adw.Application):
|
||||
|
||||
def main(version):
|
||||
"""The application's entry point."""
|
||||
# Set the version constant for use throughout the application
|
||||
constants.VERSION = version
|
||||
app = RosterApplication(version=version)
|
||||
return app.run(sys.argv)
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
|
||||
from dataclasses import dataclass, asdict
|
||||
from typing import Dict, Optional, List
|
||||
from . import constants
|
||||
|
||||
|
||||
@dataclass
|
||||
@ -31,6 +32,13 @@ class HttpRequest:
|
||||
body: str # Raw text body
|
||||
syntax: str = "RAW" # Syntax highlighting: "RAW", "JSON", or "XML"
|
||||
|
||||
@classmethod
|
||||
def default_headers(cls) -> Dict[str, str]:
|
||||
"""Return default headers for new requests."""
|
||||
return {
|
||||
"User-Agent": f"Roster/{constants.VERSION}"
|
||||
}
|
||||
|
||||
def to_dict(self):
|
||||
"""Convert to dictionary for JSON serialization."""
|
||||
return asdict(self)
|
||||
|
||||
@ -48,7 +48,7 @@ class RequestTabWidget(Gtk.Box):
|
||||
super().__init__(orientation=Gtk.Orientation.VERTICAL, **kwargs)
|
||||
|
||||
self.tab_id: str = tab_id
|
||||
self.request: HttpRequest = request or HttpRequest(method="GET", url="", headers={}, body="", syntax="RAW")
|
||||
self.request: HttpRequest = request or HttpRequest(method="GET", url="", headers=HttpRequest.default_headers(), body="", syntax="RAW")
|
||||
self.response: Optional[HttpResponse] = response
|
||||
self.modified: bool = False
|
||||
self.original_request: Optional[HttpRequest] = None
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user