Skip to content

Instantly share code, notes, and snippets.

View nderkach's full-sized avatar
✏️

Nikolay Derkach nderkach

✏️
View GitHub Profile
private var authToken: String? {
didSet {
service.invalidateConfiguration()
guard let token = authToken else { return }
let jwt = try? JWTDecode.decode(jwt: token)
tokenExpiryDate = jwt?.expiresAt
}
}
if let text: String = resource.typedContent() {
print(text)
}
func resourceChanged(_ resource: Resource, event: ResourceEvent) {
if let status: [String: String] = resource.typedContent() {
print("\(status)")
}
}
fileprivate init() {
...
let jsonDecoder = JSONDecoder()
// –––––– Mapping from specific paths to models ––––––
service.configureTransformer("/status") {
try jsonDecoder.decode([String: String].self, from: $0.content)
import Siesta
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
AwesomeAPI.ping().addObserver(self)
}
override func viewWillAppear(_ animated: Bool) {
import Siesta
let baseURL = "https://jwt-api-siesta.herokuapp.com"
let AwesomeAPI = _AwesomeAPI()
class _AwesomeAPI {
// MARK: - Configuration
@nderkach
nderkach / jwt_secret_generate.sh
Created December 6, 2017 15:17
How to generate JWT secret
node -e "console.log(require('crypto').randomBytes(32).toString('hex'));"
@app.route('/users/<string:user_id>')
def users(user_id):
profile = firebase.get('/users/{}'.format(user_id), "public")
return jsonify(profile)
@app.route('/users')
def users_by_email():
# TODO: single network call
email = request.args.get("email")
@nderkach
nderkach / api.json
Last active December 3, 2017 17:08
curl "http://api.mytravatar.com/[email protected]"
{
"city": "San Carlos",
"country": "United States",
"country_emoji": "🇺🇸",
"country_short": "US"
}
{
"rules": {
"users": {
"$uid": {
"location": {
".write": "$uid === auth.uid",
".read": "$uid === auth.uid"
},
"twitter": {
".write": "$uid === auth.uid",