mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-10-31 21:44:12 +00:00 
			
		
		
		
	fix webfinger for instances without a /host-meta
				
					
				
			we were inconsistent with the colons, thanks to usedbunny for noticing!
This commit is contained in:
		
							parent
							
								
									4e7df7a5f2
								
							
						
					
					
						commit
						8d29df64fa
					
				
					 1 changed files with 5 additions and 3 deletions
				
			
		|  | @ -22,7 +22,9 @@ export type IWebFinger = { | ||||||
| const urlRegex = /^https?:\/\//; | const urlRegex = /^https?:\/\//; | ||||||
| const mRegex = /^([^@]+)@(.*)/; | const mRegex = /^([^@]+)@(.*)/; | ||||||
| 
 | 
 | ||||||
| const defaultProtocol = process.env.MISSKEY_WEBFINGER_USE_HTTP?.toLowerCase() === 'true' ? 'http' : 'https'; | // we have the colons here, because URL.protocol does as well, so it's
 | ||||||
|  | // more uniform in the places we use both
 | ||||||
|  | const defaultProtocol = process.env.MISSKEY_WEBFINGER_USE_HTTP?.toLowerCase() === 'true' ? 'http:' : 'https:'; | ||||||
| 
 | 
 | ||||||
| @Injectable() | @Injectable() | ||||||
| export class WebfingerService { | export class WebfingerService { | ||||||
|  | @ -82,7 +84,7 @@ export class WebfingerService { | ||||||
| 		const m = query.match(mRegex); | 		const m = query.match(mRegex); | ||||||
| 		if (m) { | 		if (m) { | ||||||
| 			const hostname = m[2]; | 			const hostname = m[2]; | ||||||
| 			return `${defaultProtocol}://${hostname}/.well-known/host-meta`; | 			return `${defaultProtocol}//${hostname}/.well-known/host-meta`; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		throw new Error(`Invalid query (${query})`); | 		throw new Error(`Invalid query (${query})`); | ||||||
|  | @ -101,7 +103,7 @@ export class WebfingerService { | ||||||
| 			const template = (hostMeta['XRD']['Link'] as Array<any>).filter(p => p['@_rel'] === 'lrdd')[0]['@_template']; | 			const template = (hostMeta['XRD']['Link'] as Array<any>).filter(p => p['@_rel'] === 'lrdd')[0]['@_template']; | ||||||
| 			return template.indexOf('{uri}') < 0 ? null : template; | 			return template.indexOf('{uri}') < 0 ? null : template; | ||||||
| 		} catch (err) { | 		} catch (err) { | ||||||
| 			console.error(`error while request host-meta for ${url}`); | 			console.error(`error while request host-meta for ${url}: ${err}`); | ||||||
| 			return null; | 			return null; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue