How to pass a link as parameter via route expressjs - express

According to the document, when passing parameter through get method on express, we can easily use:
localhost:8080/example/:first_parameter
then get the value by:
let first_parameter = req.params.first_parameter;
However when the first parameter is a link, something like:
localhost:8080/example/"http://something.net"
it wil be error. So How to pass a link as parameter via route expressjs

Related

How to get an api get request's query parameter using Playwright-Java

Context :
Trying to intercept and Replace a browser get request's query string parameters using playwright java.
I am able to print the URL of the get request along with the query string parameters using page.onRequest
Issue:
Please help me find a method in the request object that could retrieve the query string parameters in the payload section or any other way to intercept and Replace a browser get request's query string parameters.
PFB Playwrights available methods in the request object
PFB the Network tab log of the fired get request

OAuth 2(Pinterest) - Query Param in callback URL?

My OAuth 2 callback URL is:
https://www.my-site.com?fixed=value
Where I have a query param that's fixed and does not change(and it unfortunately needs to be there for unrelated reasons). When Pinterest does the redirect call after user logs in, they add the ? again. So something like:
https://www.my-site.com?fixed=value?code=122343
Where my API is interpreting the value of the fixed param as value?code=122343 and breaks down. Is there any around this ?
You have to change callback url from https://www.my-site.com?fixed=value to https://www.my-site.com/fixed/value or you can try to add a custom parser to parse this url in your API.
In my case I was having a query param option called 'state'.I put my constant data in it and after authorize, I got my constant data in 'state' query param again when I redirected to my app.

How to save JSON Input body parameter to global variable in POSTMAN (Check image)

How to save JSON Input body parameter to a global variable in POSTMAN (Check image)
Click the Environment quick look (eye button) in the top right of Postman and click Edit next to Globals.
Add a variable named timestamp and give it an initial value, Save and close the environment modal.
Open a new request tab and enter https://postman-echo.com/get?var={{timestamp}} as the URL. Hover over the variable name and you'll see the value.
Send the request. In the response, you'll see that Postman sent the variable value to the API.
Note :No need for "$"
In order to get that value from the Request Body, you can add a simple script like this to the Tests tab:
let depositRef = JSON.parse(pm.request.body.raw).api_data.deposit_reference
pm.globals.set('depositRef', depositRef)
This is using pm.request.body.raw from the pm.* API to grab the value from the Request Body.
You need to add this to the Tests rather than the Pre-request Script, as that would set the Global variable but it wouldn't resolve the dynamic variable at that point and it would just store TX1{{$timestamp}}.

Use URL as an API method for Slackbot in Express js

I am still new to javascript and trying to write a Slackbot in express js. I want to use the method defined in https://api.slack.com/methods/channels.history. How should this look syntacticly and how do I use it since the method is simply a URL?
You need to make an http request for the URL and you'll be returned a response with an object containing the status (ok:true|false), if there are more messages (has_more:true|false), and then an array of the actual messages (messages:array).
The response should look something like this:
{
has_more:true
messages:Array[100]
ok:true
}
The url that you make the get request to should look something like:
https://slack.com/api/channels.history?token=BOT_TOKEN&channel=CHANNEL_ID&pretty=1
Where BOT_TOKEN is the token attached to the bot you created, and CHANNEL_ID is the ID (not the name) of the channel whos history you want to get (9 uppercase alphanumeric characters, starts with a "C").
There are also a few other parameters you can include in the url. For example, "latest=", "oldest=", "inclusive=", "count=", and "unreads=". Details about those parameters can be found on the page you linked to (https://api.slack.com/methods/channels.history).
If you want to test it out in your browser's console, find a page where jQuery is loaded, open your dev tools and head into the console, and enter the following (with your bot token and channel id swapped in):
$.get('https://slack.com/api/channels.history?token=BOT_TOKEN&channel=CHANNEL_ID&pretty=1', function(response){console.log(response)});

WSO2 api manager always expect query parameter issue in case query and path parameter?

Does anyone know how to use WSO2 api manager to specify all query parameters as optional through URL pattern specification in WSO2 API Manager UI(Paath Params also present in the same URI)? for example, I have a API which will be registered in WSO2 api manager , and its uri is 'search//?type="xx"&status="yy"', currently both of these 2 query parameters (type & status) are optional and is pathparam.
I specified URL Pattern "search/{stationcode}*". Now I am calling with path param only, it gives Error "No matching resource found in the API for the given request".
I call "search/TAMK", it is not working. But if I use "search/TAMK?" or "search/TAMK*" or "search/TAMK*", it works just fine.
I tried to use "search/{stationcode}/*", but still it did not solve the issue. It is always expecting one character for queryparam. Can any one please help me to solve this. Without query parameter it should work, right?
I would suggest you to use the new API Manager (1.9) and try the following.
Create an API with the backend URL of
http://...../search
when you define the URL patterns you can define the following pattern
/{stationcode}*
and you can add 'type' and 'status' as optional parameters in the design view of the API creation page. You can choose the parameter type as 'query' and Required as 'False'