Intellij IDEA HTTP Client - How can i save variable from response body - json

In JetBrains Doc says, that you can save a variable of response body to global variables:
//Saving a variable
> {%
client.global.set("auth_token", response.body.json.token);
%}
But in my IDE there is an error "Unresolved variable json" on statement ".json.token":
enter image description here
Can enyone help me? Is there possability of saving valiables values from request body to global variables for using them in next requests of the same http file at all?

Try access token variable doing this instead:
{%
client.global.set("auth_token", response.body.token);
%}
(Without the .json)
It works for me!
And then, you can access that variable doing this:
{{auth_token}}

Related

How safe is using if statements in html with django?

How safe is using if statements in html templates with django? Eg.
{% if post.visibility == 'PUBLIC' %}
show something....
{% endif %}
How easy is it to change that from public to private if we don't filter it accordingly in the backend for hackers or other people?
It is perfectly safe. It is not 'in html' at all.
That code is being evaluated on the backend using the Jinja2 template engine. A frontend user can't edit your if statement at all because by the time the message reaches them Jinja2 has already deleted it and replaced it with the computed version.
See: https://en.wiktionary.org/wiki/render#Verb
Django template processing happens on server side. A visitor of the page will only see the final result, but not the if statements. It is thus not possible for him to access different content by changing the if statement (unless there is some other way to attack the server itself or inject different values into the if statement that are generated from user input).

Iron Python get triggered in initial load for Spotfire Client but not for Spotfire Web player

My script is to hide some pages for the some login User. My script get trigger well in Client not in Webplayer.
To trigger this script i created the Data function property with Input and output parameter.
Input parameter as sysdate
output assigned to document property where below script is present.
import Spotfire.Dxp
from Spotfire.Dxp.Data import *
table=Document.Data.Tables["RestrictedSSO"]
minCol=table.Columns['GROUPNAME']
minCursor=DataValueCursor.Create(minCol)
for row in table.GetRows(minCursor):
Document.Properties["UserGroup"]= minCursor.CurrentValue;
if Document.Properties["UserGroup"]=="Restricted":
for Page in Document.Pages:
if Page.Title == "ABCD":
Document.Pages.Remove(Page)
if Page.Title == "EFGH":
Document.Pages.Remove(Page)
First check if there is a URL specified for the TERR Engine. A default setting might work in the client and not in the webplayer, so specifying the URL can ensure it works in both Client and Webplayer.
If that still does not help you can choose to initiate the python script via Javascript instead of the TERR sysdate output : https://community.tibco.com/wiki/how-trigger-python-script-report-load-javascript-tibco-spotfire
When using TERR Check whether you have have checked refresh automatically and unchecked allow cache from script in data function.
Run terr on server rather than run locally.
Go to file-> Document properties -> uncheck Remember personalized view for each web client user.
Even after doing the above steps if it didn't worked , then you can also go with java script.

Is there a way to request a specific dataset from a rest api?

Sorry if this seems dumb to some of you, I am a total noob and literally have no idea what I'm trying to google, so I can't even try googling this before I ask.
I would like to pull specifically england covid19 data from this page: https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/Coronavirus_2019_nCoV_Cases/FeatureServer/1/query?where=1%3D1&outFields=*&outSR=4326&f=json
and then set it as a json attribute (if possible).
I'm trying to create a sensor in Home Assistant for England Covid19 data, using the rest platform.
I am taking this idea from someone else who has already successfully acheived this:
platform: rest
name: covid_19_folkhalsomyndigheten
resource: https://www.arcgis.com/sharing/rest/content/items/2dc63e26f509468f896ec69476b0dab3/data
value_template: "{% if value_json.embedCode == '' %} Otillgänglig {% else %} Tillgänglig {% endif %}"
json_attributes_path: $.widgets.widget_1.config
json_attributes: [embedCode]
scan_interval: 21600
But there are differences in the actual resource he is using and mine so maybe I cannot just copy his method.
If anyone has the spare time to guide me through this I would be very greatful. Thanks!
Here ya go, here's an answer using python3
import json
import requests # you'll have to install this with something like pip
r=requests.get('https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/Coronavirus_2019_nCoV_Cases/FeatureServer/1/query?where=1%3D1&outFields=*&outSR=4326&f=json')
print(r.text, ' this will be your json object')
# if you want to write the data to a file called data.txt (note you can choose any name like corona.txt)
with open('data.txt', 'w') as outfile:
json.dump(r.text, outfile)
The following code would fetch the data, and then write and create a file called data.txt

URL validation in TCL

I'm trying to download a file over HTTP using http package in TCL. If the given URL is correct then everything is going fine but if the given URL is wrong then it is not throwing any errors. Now my question is that How to validate given URL using TCL?
Thanks in Advance,
Vijay
The http package doesn't throw errors for most failures (except host resolution); you have to check for them with the http::ncode command.
set token [http::geturl $theWrongUrl]
if {[http::ncode $token] >= 400} {
error "http problem: [string range [http::code $token] 13 end]"
}
(This code will leak a token; it omits the http::cleanup call…)

Parameter passing to webapp on doGet(e)

I'm trying to figure out how parameters in URL are passed to doGet() function.
I tried to do
https://script.google.com/a/macros/[my domain].com/s/[some random string generated by GAS] followed by "&variable=data"
but it only gave me this error:
"Sorry, the file you have requested does not exist."
FYI, https://script.google.com/a/macros/[my domain].com/s/[some random string generated by GAS] works well without "&variable=data".
To add GET parameters to the end of a URL, you need to use a ?.
So your URL should look something like this
http://script.[.......]/exec?variable=data&otherVariable=otherData
Also, be sure you publish your app to get this functionality. File > Manage Versions. Publish > Publish as Web App...